Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
在PHP中报告列表函数未显示为查询状态_Php_Mysql_Report_Dreamweaver - Fatal编程技术网

在PHP中报告列表函数未显示为查询状态

在PHP中报告列表函数未显示为查询状态,php,mysql,report,dreamweaver,Php,Mysql,Report,Dreamweaver,我在为我的食品订购系统编写的一些特定PHP代码中遇到了问题。这是一个报告代码,它使用数据库中保存的已售出商品的数量,并生成一个简单的表格,显示前10名的已售出商品,其名称在第二列中 但是,据我所知,它总是给出一个出售物品的混合物,比如,17,10,8,12,30个出售物品。这是我一直在研究的代码。有什么想法或修正案我可以试试吗?提前谢谢 <?php include("includes/db.php"); if(isset($_SESSION["admin"])) { ?&

我在为我的食品订购系统编写的一些特定PHP代码中遇到了问题。这是一个报告代码,它使用数据库中保存的已售出商品的数量,并生成一个简单的表格,显示前10名的已售出商品,其名称在第二列中

但是,据我所知,它总是给出一个出售物品的混合物,比如,17,10,8,12,30个出售物品。这是我一直在研究的代码。有什么想法或修正案我可以试试吗?提前谢谢

<?php
   include("includes/db.php");
   if(isset($_SESSION["admin"]))
   {
?>                  
 <br><h2 align="center">Top Sellers' Report</h2>
 <table border="0" cellpadding="0" width="500px" align="center" style="border:2px solid black;">
 <tr>
      <td align="center">Sales Information<br></td>
      <td align="center">Item Name<br></td>
  </tr>
  <tr>
      <td colspan="4"><hr size="2" color="black" /></td>          
  </tr>

<?php
    $result=mysql_query("select DISTINCT menurecords.menuname, orderdetails.menuID 
                         from orderdetails 
                         JOIN menurecords ON orderdetails.menuID = menurecords.menuID 
                         ORDER BY orderdetails.quantity DESC") 
                         or die("select * from menurecords"."<br/><br/>".mysql_error());

    while($row=mysql_fetch_array($result)){
?>

  <tr>
      <td align="center">
<?php
    $menuID=$row[1]; 
    $result2=mysql_query("select SUM(quantity) from orderdetails   WHERE orderdetails.menuID='$menuID'");
    while($row2=mysql_fetch_array($result2)){
?>
        Quantity-Sold: <?php echo $row2[0]?><br>    
<?php   
    }
?>

    </td>
    <td align="center">
        <b><?php echo $row[0]?></b></td>
</tr>
<tr>
    <td colspan="4"><hr size="2" /></td>
<?php 
    }
?>
<?php
} else
    echo "No session exists. Please login again to view this page by clicking <a href='adminlogin.php'>here</a>."
?>  


畅销书报告 销售信息
项目名称


从外观上看,如果第一个结果是最畅销的,您可以从数据库中获取最畅销的结果,将它们相加,然后输出,而不进行真正的排序。@liamSorsby yes,因为当客户订购一个项目时,保存的数量默认为1。然后,需要代码来计算特定项目数据库中1的数量,并将其从最畅销到最畅销显示出来。因此,目前您只需输出结果,而无需排序。尝试将结果存储在数组中,然后在循环后,使用sort($array)将结果显示在排序列表中。@liamsorsby我不确定数组应该是什么样子。有什么粗略的想法吗?非常感谢。安装echo$row[0]try$data[]=$row[0];然后在循环之后尝试排序($data);这将按顺序对数据进行排序。编辑:尝试arsort()而不是sort,然后按降序排序