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