【发布时间】:2014-10-02 19:10:47
【问题描述】:
我正在使用 mySQL 和 PHP,我遇到了一个整天都在思考的查询,我不确定我的困难是否在于不知道可能为此请求的一些高级命令,请问帮忙?
事情是这样的:我正在使用一个旧数据库,我不想更改其中的表,所以我必须使用两个表:
- album:这个表只有两个字段,id_album和album_name;
- photos:此表包含照片的路径,并通过字段 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>';
}}
?>
它工作正常,但它列出了所有相册中的所有照片。有没有办法让它为每个相册打印一张照片?
非常感谢您!
【问题讨论】:
-
这看起来非常不安全。你确定你的用户参数是properly escaped吗?
mysql_query是一个过时的接口,不应在新应用程序中使用,并将在未来的 PHP 版本中删除。像PDO is not hard to learn 这样的现代替代品。如果您是 PHP 新手,PHP The Right Way 之类的指南可以帮助您解释最佳实践。 -
请显示您的
album表的结构。另外,您希望在每个相册中看到哪张照片 - 第一张、最后一张、随机的、最小的等等? -
非常感谢,我不知道 mysql_query 已经过时了,我很久以前就开始使用它了,我刚刚开始重新编程,所以我非常感谢你发给我的教程!我一定会开始更新我的技能!