gpt4 book ai didi

php - 使用 PHP 和 mySQL 只打印一个查询结果?

转载 作者:行者123 更新时间:2023-11-29 12:40:41 25 4
gpt4 key购买 nike

我正在使用 mySQL 和 PHP,我遇到了一个需要思考一整天的查询,我不确定我的困难是否在于不知道为此可能需要的一些高级命令,可以吗?有帮助吗?

事情是这样的:我正在使用一个旧数据库,我不想更改其中的表,所以我必须使用两个表:

  • album:该表只有两个字段,id_album和album_name;
  • 照片:此表保存照片的路径,并通过字段 id_album 链接到相册表;

我想建立一个页面,列出所有相册,每个相册都有一个缩略图,这是我从“照片”表中获取的,在这种情况下,我只需要为每个相册列出一张照片,我不知道如何为此编写代码,这就是我到目前为止所得到的:

  <?php

$comando = "SELECT * FROM album";

$consulta = mysql_query($comando, $database)

or die('Error:<br/>'.$comando);

while($dados = mysql_fetch_array($consulta)) {


$comando1 = "SELECT * FROM photos WHERE album = '".$dados['id_album']."'";
$consulta1 = mysql_query($comando1, $database)
or die('Error'.$comando1);

while($dados1= mysql_fetch_array($consulta1)){
print '<li><a href="photos.php?Cod='.$dados['id_album'].'"><img src="'.$dados1['foto'].'"/></a><br/><a href="photos.php?Cod='.$dados['id_album'].'"> ' .$dados['album_name']. '</a></li>';

}}

?>

它工作正常,但列出了所有相册中的所有照片。有没有办法让它为每个相册只打印一张照片?

提前非常感谢您!

最佳答案

$comando1 = "SELECT * FROM photos WHERE album = '".$dados['id_album']."' LIMIT 1";

您应该加入查询。使用类似的东西

$comando = "
SELECT album.id_album, photos.* FROM `album`
LEFT JOIN `photos` on photos.album = album.id_album
GROUP BY album.id_album";

关于php - 使用 PHP 和 mySQL 只打印一个查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com