如何迭代每个orderID以显示相关的客户详细信息(php、mysql)
我需要显示orders表中的所有订单,但我需要匹配orders和Users表中的UserID,以便在每个orderID旁边显示正确的用户信息 目前只显示1行数据(第一个orderID) 我如何使它遍历每个orderID,而不只是返回第一个orderID如何迭代每个orderID以显示相关的客户详细信息(php、mysql),php,mysql,Php,Mysql,我需要显示orders表中的所有订单,但我需要匹配orders和Users表中的UserID,以便在每个orderID旁边显示正确的用户信息 目前只显示1行数据(第一个orderID) 我如何使它遍历每个orderID,而不只是返回第一个orderID <?php // select all from Orders table if ($result=mysql_query("SELECT * FROM Orders")) { // fetch t
<?php
// select all from Orders table
if ($result=mysql_query("SELECT * FROM Orders"))
{
// fetch the resulting array
while ($row=mysql_fetch_array($result))
{
// extract the array
extract($row);
// select all from Users table where userID = userID from the Orders table
if ($result2=mysql_query("SELECT * FROM Users WHERE userID='$userID'"))
{
// fetch the resulting array
while ($row2=mysql_fetch_array($result2)or die(mysql_error()))
{
// extract the array
extract($row2);
//display the order details
echo "<p><b>Order:</b> $orderID: $firstname $surname $address</p>";
}
}
}
}
mysql_close($conn);
?>
如果两个表中都有UserID,那么就没有问题了,因为每个用户都是唯一的(至少我假设它们是唯一的)。所以你可以试试:
$query = "SELECT * FROM Orders O, Users U WHERE O.UserID = U.UserID AND U.UserID = '$UserID'";
然后,您可以遍历包含订单信息和用户信息的结果:)
$result=mysql\u查询($query);
而($row=mysql\u fetch\u array($result)或die(mysql\u error())
{
//提取数组
摘录(行);
//显示订单详细信息
echo“Order:$orderID:$firstname$姓氏$address”;
}
感谢您的回复,查询看起来很好,但是现在它没有回显任何信息(甚至html部分)。可能是什么问题?尝试从行数组中写出mysql结果,如:echo$row[0];echo$行[1];依此类推,查看从表中获取的所有不同属性(可以在开始时仅使用echo行[0]),并检查是否在屏幕上打印任何结果。
$result =mysql_query($query);
while ($row=mysql_fetch_array($result)or die(mysql_error()))
{
// extract the array
extract($row);
//display the order details
echo "<p><b>Order:</b> $orderID: $firstname $surname $address</p>";
}