0

我有一个大约 5 小时的问题...我可以在合并之前从一个数组中打印一个 mysql 选择到一个表...我的代码是:在 Cookies 中有这个数组 Array( [] => [1254] => 325 [2112] => 77 [354] => 2 ) 其中 [1254 是产品的鳕鱼] => 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>

问题是 $registers["cant"] 我如何执行 SELECT my sql,以提供此输出;[] => [1254] => 325 [2112] => 77 [354] => 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**

任何想法谢谢

4

2 回答 2

0

进行选择后,获取结果,然后对结果执行 for each 循环

现在你走相反的路

此外,您的循环中有一个 tr 反对多个 tr 。

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

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

于 2013-03-01T20:41:49.487 回答
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>
于 2013-03-01T20:43:21.747 回答