Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何迭代每个orderID以显示相关的客户详细信息(php、mysql)_Php_Mysql - Fatal编程技术网

如何迭代每个orderID以显示相关的客户详细信息(php、mysql)

如何迭代每个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

我需要显示orders表中的所有订单,但我需要匹配orders和Users表中的UserID,以便在每个orderID旁边显示正确的用户信息

目前只显示1行数据(第一个orderID)

我如何使它遍历每个orderID,而不只是返回第一个orderID

<?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>";
    }