我希望我的标题能说明我正在尝试做的事情,我会尝试更好地描述它:我有一个包含两个表的数据库,一个名为“movies”,另一个名为“directors”。它是一个小型电影数据库,我们应该能够在其中显示所有电影、它们的名称、年份和制片人。
在“directors”表中,我有一个字段“id”,在“movies”表中,我有一个名为“producer”的字段,其中包含匹配的 id。我希望while循环遍历“电影”表中的所有电影(工作正常),如果我选择从“电影”打印“id”,它是正确的。但现在我希望循环显示“电影”表中的“标题”和“年份”,然后转到“导演”表并获取匹配“id”的名称。
我对 PHP 和 mysql 查询都是新手,我的代码在第一部电影中正确地做到了这一点,但其余的“制片人”字段目前为空。(现在我只是想显示姓氏以查看它是否有效)。
仅供参考,这是一个学校项目。
代码:
<?php
$sql = "SELECT * FROM movies ORDER BY title ASC";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$id = $row['id'];
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$title=mysql_result($result,$i,"title");
$year=mysql_result($result,$i,"year");
$producer=mysql_result($result,$i,"producer");
$id=mysql_result($result,$i,"id");
$sqldir = "SELECT * FROM directors WHERE id='$producer'";
$result1 = mysql_query($sqldir);
$row1 = mysql_fetch_assoc($result1);
$iddir = $row['id'];
$producertext = mysql_result($result1,$i,"surname");
?>
<b>Title:</b> <?php echo $title ?>
<br/><b>Year:</b> <?php echo $year ?>
<br/><b>Director:</b> <?php echo $producertext ?>
<br/>
</form> <HR>
<?php
$i++;
}
?>