Php mysql选择和回送多维数组

Php mysql选择和回送多维数组,php,html,mysql,arrays,Php,Html,Mysql,Arrays,我有一个大约5小时的问题。。。我可以打印mysql选择 在合并之前从一个数组到一个表。。。我的代码是: 在Cookies中有以下数组 数组([]=>1254]=>325[2112]=>77[354]=>2) 其中[1254为产品的cod]=>325为数量 <table width="100%" border="0" cellpadding="3" cellspacing="2"> <tr><!--prepare row of head col

我有一个大约5小时的问题。。。我可以打印mysql选择 在合并之前从一个数组到一个表。。。我的代码是: 在Cookies中有以下数组 数组([]=>1254]=>325[2112]=>77[354]=>2) 其中[1254为产品的cod]=>325为数量

<table width="100%" border="0" cellpadding="3" cellspacing="2">
            <tr><!--prepare row of head cols html static--> 
              <td> COD</td>
              <td> PROD</td>
              <td>CAT</td>
              <td>**CANT**</td>
          </tr>
     <?php  
          ////array in cookie to variable php $rr
          $rr = $_COOKIE['coo'];
          foreach ($rr as &$arr){////for each element of $rr generate one register
            $SQL="SELECT cod_pro,name,cod_cat,('$arr') AS quant FROM products 
               WHERE cod_pro=".$arr." 
               ORDER BY cod_cat asc";
          $result=mysql_query($SQL,$lnk) ;

if (mysql_num_rows($result)>0){  //if exist anyone 

while($registers=mysql_fetch_array($result,MYSQL_ASSOC)){
    ////print each row here all right
 echo "<tr><td>".$registers["cod_pro"]."</td>"."<td>".$registers["name"]."/td>"
 ."<td>".$registers["cod_cat"]."/td><td>".$registers["quant"]."</td></tr>";
       ////$registers["quant"] i want add one col with this value from cookie
  ?>
    <?php }?>
    <?php }     
    } ?>
  </table>
有什么想法吗?谢谢您在完成选择后, 获取结果,然后使用结果执行for each循环

现在你走的是相反的路

此外,您的循环中有一个tr和多个tr

首先尝试制作流程图,然后编写代码

建议您阅读数据结构书籍,并尝试在那里编码和解决问题

我想我理解你的要求。我清理了你的代码,并做了我认为你想要的修复。 没有理由尝试将数据传递到该SQL查询中,只是为了将其拉出

直接在循环中引用数据即可

我不知道这段代码到底做了什么,所以我下面写的可能不起作用

但据我所知,这是我能做的最好的了

<table width="100%" border="0" cellpadding="3" cellspacing="2">
    <tr>
       <td> COD</td>
       <td> PROD</td>
       <td>CAT</td>
       <td>**CANT**</td>
    </tr>
 <?php  

    $rr = $_COOKIE['coo'];
    foreach ($rr as $name => &$arr)
    {
        $SQL = "SELECT cod_pro,name,cod_cat FROM products 
                WHERE cod_pro=".$arr." 
                ORDER BY cod_cat asc";

        $result=mysql_query($SQL,$lnk) ;

        if (mysql_num_rows($result)>0)
        {  

           while($registers=mysql_fetch_array($result,MYSQL_ASSOC))
           {

                echo "<tr><td>".$registers["cod_pro"]."</td>"."<td>".$registers["name"]."/td>"."<td>".$registers["cod_cat"]."/td><td>".$name."</td></tr>";

           } 
         }      
    } 
 ?>
</table>

货到付款
戳
猫
**行话**

哦,我在说意大利面代码!什么??对不起,我的英语有点混乱,无法准确理解您想问的问题。我希望从该数组中选择,当该寄存器是BD的查询时,数组的输出(我无法显示QUANT)值与选择寄存器的值相关联。在示例中[1254是产品代码]=>325是数量“QUANT”BD中没有字段,我想将此字段添加到每个寄存器中,“quant是数组$rr中的值”[1254是产品代码]=>325是我想关联的数量tanks@APPLEHAT这一行正是每个($rr as$name=>&$arr)的解决方案没有问题!很高兴我能帮忙。
<table width="100%" border="0" cellpadding="3" cellspacing="2">
    <tr>
       <td> COD</td>
       <td> PROD</td>
       <td>CAT</td>
       <td>**CANT**</td>
    </tr>
 <?php  

    $rr = $_COOKIE['coo'];
    foreach ($rr as $name => &$arr)
    {
        $SQL = "SELECT cod_pro,name,cod_cat FROM products 
                WHERE cod_pro=".$arr." 
                ORDER BY cod_cat asc";

        $result=mysql_query($SQL,$lnk) ;

        if (mysql_num_rows($result)>0)
        {  

           while($registers=mysql_fetch_array($result,MYSQL_ASSOC))
           {

                echo "<tr><td>".$registers["cod_pro"]."</td>"."<td>".$registers["name"]."/td>"."<td>".$registers["cod_cat"]."/td><td>".$name."</td></tr>";

           } 
         }      
    } 
 ?>
</table>