SQL查询:2个表,但希望从一个只有一行从其他

问题描述:

所有的信息,我有2个表SQL查询:2个表,但希望从一个只有一行从其他

  • 照片:存储所有照片信息
  • 库:存储标题和描述关于画廊

我需要回显一个新页面的图库描述,然后所有的照片应该在那里。

,但我不断收到标题和描述重复的,因为它在同

$row = mysql_fetch_array($result)... 

然后有更多的一组该库中我也需要照片?

任何帮助还是我是含糊....

$a="SELECT * from gallery where gallery_category=".$gallery_category; 
$result = mysql_query($a,$c); 
while($row = mysql_fetch_array($result)) { 
    echo $row['gallery_name'].'<br>'.$row['gallery_description'].'<br>'; 
    $sql="SELECT * FROM photos WHERE gallery_id =".$gallery_id." ORDER BY photos_filename"; 
    $result2 = mysql_query($sql,$c); 
    while($row = mysql_fetch_array($result2)) { 
     echo'<a rel="example_group" href="../galleries/images/'.$row['gallery_id'].'/'.$row['photos_filename'].'" width="130" height="100"><img src="../galleries/images/'.$row['gallery_id'].'/'.$row['photos_filename'].'" height="150px" alt=""/></a>'; 
    } 
} 
+1

如果您发布更多的代码 – c4pone 2013-02-26 12:53:42

+0

abit vague会有帮助但你有两个解决方案。要么通过您的画廊表循环一次,然后在每次循环中拉和循环您的照片,其中照片galleryid与图库ID相匹配,或者您可以使用连接一次拉出所有照片,并在代码中存储图库ID和如果存储的当前图库ID与数据库中的图库ID不匹配,则仅回显图库标题 – Dave 2013-02-26 12:55:16

+0

您正试图获取有关图库的信息,它是单个查询中的照片还是什么?请提供一些当前输出的代码和示例。 – 2013-02-26 12:55:36

其实我会张贴在这里,所以我可以使用一些代码格式化。

选项1 - 环

$headerquery = $db->query("SELECT * FROM tbl1"); 
while ($headers= $db->fetchNextObject($headerquery)) { 
    echo "<table><tr><th>".$headers->GalleryName."</th></tr>"; // open table create header 
     $detailquery = $db->query("SELECT * FROM tbl2 WHERE GalleryID=".$headers->ID); 
     while ($details= $db->fetchNextObject($detailquery)) { 
      echo "<tr><td>".$details->Photo."</td></tr>"; //loop through 2nd table and spit out photos 
     } 
    echo "</table>"; //close table 
} 

方案2中环 - 连接的查询与选择

$galleryheaderid = 0; 
$query = $db->query("SELECT * FROM tbl1 INNER JOIN tbl2 on tbl1.ID=tbl2.GalleryID"); 
while ($details = $db->fetchNextObject($query)) { 
    echo "<table>"; 
    if ($galleryheaderid!=$details->ID) { //spit out header row if id's don't match 
     echo "<tr><th>".$details ->GalleryName."</th></tr>"; //create header 
     $galleryheaderid = $details->ID; //set header id to gallery id so we don't show header a 2nd time 
    } 
    echo "<tr><td>".$details->Photo."</td></tr>"; //spit out gallery information even on first row since all rows include photo information 

    echo "</table>"; //close table 
} 

像任一的东西应该工作显然他们需要正确填写

+0

对不起,它看起来令人印象深刻,但即时通讯新,并没有任何意义... – 2013-02-26 15:47:12

+0

排序.....保持简单,并通过每个循环输入一个$ gallery_id ...作品治疗...谢谢您的帮助.. – 2013-02-26 17:57:50