如何限制while循环以显示每个id 1个结果?

时间:2014-07-15 12:00:22

标签: php mysql

大家好我正在尝试查询在查询中有一个连接表,并且每个id都有多个图像,我试图每个id回显1个结果,所以它只显示1个图像的结果。它正在显示所有图像并重复结果。

E.g。 id1-图像1,id1-图像2,id1-图像3,id2-image1等

我正在尝试做id1-image1,id2-image1,id3-image1

我读过我应该使用Group by,但如果这是正确使用的函数则不行。 我需要的帮助只是一个快速的提升,如果" Group by"是正确的功能或我需要什么功能这个目的将是很好的帮助。谢谢你的时间

这是我的代码。再次感谢

<?php

ini_set('display_errors', 1); error_reporting(E_ALL);
ob_start();
session_start();
include 'connect.php';

$userid=$_SESSION['id'];
$username=$_SESSION['username'];

$result=mysqli_query($con,"SELECT * FROM Listing JOIN listingpic ON 
    (Listing.id = listingpic.listingid ) WHERE Listing.userid = $userid AND Listing.Status='Bird'  ") or die( mysqli_error($con));

while ($row = mysqli_fetch_assoc($result))
{
   echo 'Listing Type:'.$row['type'].'<a href="SpecificListing.html?Listingid='.urlencode($row['listingid']).'">'.$row['listingid'].
   "Click to view the details".'</a>
   <img src="http://test.info/Bootstraptest/image/'.$row['pic'].'"  height="200" width="200">';
}
?>

2 个答案:

答案 0 :(得分:0)

 $result=mysqli_query($con,"SELECT * FROM Listing JOIN listingpic ON 
(Listing.id = listingpic.listingid)
 WHERE Listing.userid = $userid AND Listing.Status='Bird' group by Listing.user_id ") or die( mysqli_error($con));

这是唯一的选择。

答案 1 :(得分:0)

请尝试此查询。

SELECT listing.row1,listing.row2,listingpic.row1 FROM 
(
select listing.row1, listing.row2 from listing where condition
)listing join listingpic

WHERE Listing.userid = $userid AND Listing.Status='Bird'