Php mysql选择和echo数组多维

时间:2013-03-01 20:28:03

标签: php html mysql arrays

我有一个5小时aprox的问题...我可以打印一个mysql选择 在我结合之前从一个数组到一个表...我的代码是: 在Cookies中有这个数组 数组([] => [1254] => 325 [2112] => 77 [354] => 2) 其中[1254是产品的鳕鱼] => 325是quant

<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>

问题是$ registers [“cant”]我怎么能做SELECT我的sql,给出这个输出; [] =&gt; [1254] =&gt; 325 [2112] =&gt; 77 [354] =&gt; 2

      COD (pk)   NAME         COD_CAT       **quant** This i can´t show
      --------------------------------------------
      1254      Car (bd)         1 (bd)      **325**
      2112      Cicles(bd)       2 (bd)       **77** 
      354       toys (in bd)     3 (bd)        **2**

任何想法谢谢

2 个答案:

答案 0 :(得分:0)

做完选择后, 获得结果,然后使用结果为每个循环执行

现在你正在采取相反的方式

你的循环中还有一个针对多个tr的tr。

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

建议您浏览数据结构书籍并尝试编写和解决问题。

答案 1 :(得分:0)

我明白你在问什么。我清理了你的代码,并使我认为你想要的修复。 没有理由尝试将数据传递到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>