【发布时间】:2013-03-11 17:07:07
【问题描述】:
<?php
include 'config.php';
$conn = mysql_connect("$hostname", "$username", "$password") or die ("Failed to connect to DB.");
mysql_select_db("$dbname",$conn);
$sql="SELECT * FROM opdrachten";
$result=mysql_query($sql,$conn);
while ($row= mysql_fetch_array($result))
{
echo $row['name'];
echo "<br>";
$opdrachtid = $row["id"];
$sql2="SELECT * FROM resultaten WHERE(opdrachtid='".$opdrachtid."')";
$result2=mysql_query($sql2,$conn);
while ($row2= mysql_fetch_array($result2))
{
echo "
<li>
<a href=\"result.php?id=".$row2["id"]."\">
<img src=\"".$row2["img"]." \"width=\"150\" height=\"150\">
<div><span>TEXT HERE</span></div>
</a>
</li>";
}
}
?>
我希望我的代码做的是(在一个循环中):
- 从表“opdrachten”中获取所有行并回显它们的“名称”。
- 从“opdrachten”中的每一行中获取“id”> 存储在变量 $opdrachtid 中
- 从表“resultaten”中获取行,其中“opdrachtid == $opdrachtid”(我刚刚存储)
- 从从 3 获取的行中回显“id”和“img”。
我想在我的页面上看到的内容:
- “opdrachten”表中“opdrachten”(目标)的名称 正下方
- 分配给这些目标的图像(其 url 存储在表 'resultaten' 中) (WHERE opdrachten.id = resultaten.opdrachtid)
我已经研究了 JOIN,因为这是我在这里读到的大多数相关主题的答案,但这似乎不是我正在寻找的,因为我在第一时间回声并声明用于第二个查询的变量。
使用的表格:
'结果' 编号 | opdrachtid |名字
'opdrachten' 编号 |名字
同样,resultaten.opdrachtid == opdrachten.id
提前感谢,感谢帮助:)
【问题讨论】:
-
由于 mysql 库已被弃用,建议使用 mysqli 或 pdo。
-
你不需要 2 次查询在第一个查询中加入,然后一个循环就可以工作
标签: php mysql while-loop