尝试通过user_id从users表中获取数据,user_id是vehicle表中的外键。关系工作正常,就像我在车辆表中插入数据然后user_id也按预期插入,但问题是当我想使用user_id从users表中获取数据时。
我使用此SQL查询来查看数据
<?php
$qry = mysql_query("select vehicle. *, users.zip AS zip from vehicle JOIN users ORDER BY id DESC ");
while($data = mysql_fetch_array($qry))
{?>
<tr role="row" class="even">
<td style="display:none;"><?php echo $data['id'];?></td>
<td class="sorting_1"> <?php $datess = $data['create_date'];
$old_date_timestamp = strtotime($datess);
echo date('m-d-Y', $old_date_timestamp);?>
</td>
<td><?php echo $data['bid_type'];?></td>
<td><?php echo $data['zip'];?></td>
<td>
<a href="bid-detail.php?id=<?php echo base64_encode($data['id']);?>" class="btn btn-success btn-small">$ Make Offer</a>
</td>
</tr>
<?php
}
?>
此查询显示数据,但一次又一次地重复。
任何人都可以帮助我解决问题或任何其他简单的解决方案。
答案 0 :(得分:1)
您的查询中的问题。
您必须在查询中添加WHERE子句,该子句将使您的父表的PK与子表的FK相匹配。
试试这个:
select v.*, u.zip AS zip from vehicle as v,users as u WHERE v.user_id=u.user_id ORDER BY v.id DESC
答案 1 :(得分:0)
查询对我来说真的不对......
"select vehicle. *, users.zip AS zip from vehicle JOIN users ORDER BY id DESC "
这已经合并了两个表。要加入他们,请使用类似
的内容"select * from vehicles as v, users as u where v.id = u.vehicle_id order by id desc"
或类似的东西。你需要指定两个表,即vehicles
和users
,然后join
在一些具有相同类型的列上,并希望在相同类型意味着逻辑上相同的东西,即它是否为#s;车辆ID或用户ID等。