繁体   English   中英

如何回显内部连接列名称

[英]How do I echo an inner join column name

我有两个内部连接的表,称为牛奶,而 jan 都有一个名为 id 的列。 试图制作一个模态弹出窗口,但它对模糊的 id 列名不起作用,所以我尝试了 milk.id 但仍然不起作用。 有办法解决吗?

这是我的 php 查询:

$sql="SELECT milk.pemohon, milk.nokp, milk.keterangan, jan.status 
FROM milk 
INNER JOIN jan ON milk.id = jan.users_id";

$result = mysqli_query($con,$sql);
    ?>

    <table>
      <thead>
        <tr>
          <th>Pemohon</th>
          <th>No. KP</th>
          <th>Keterangan</th>
          <th>Status</th>
          <th>Penghantaran</th>
        </tr>
      </thead>
      <tbody>
        <?php
        while($row=mysqli_fetch_array($result)) {
        ?>
        <tr>
          <td><?php echo $row["pemohon"]; ?></td>
          <td><?php echo $row["nokp"]; ?></td>
          <td><?php echo $row["keterangan"]; ?></td>
          <td><?php echo $row["status"]; ?></td>
          <td><button data-id='<?php echo $row['milk.id']; ?>' class="userinfo btn btn-success">Info</button></td>
        </tr>
        <?php  
          }
        }  
        ?>
      </tbody>
    </table>
$sql="
SELECT 
    milk.id AS milk_id, 
    milk.pemohon, 
    milk.nokp, 
    milk.keterangan,
    jan.id AS jan_id, 
    jan.status 
FROM milk 
INNER JOIN jan ON milk.id = jan.users_id
";

现在您可以使用$row['milk_id']$row['jan_id']在 php 中只 select milk_id 或 jan_id

解释一下: MySQL 使用列名作为名称,因此在milk.id它使用id 如果您有多个 select 具有相同的列名,例如milk.idjan.id它分别返回idid(1) 最好的办法是使用带有AS后跟名称的别名。 通过这种方式,MySQL 将其作为名称返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM