gpt4 book ai didi

php while 和 for 循环填充数组不起作用

转载 作者:行者123 更新时间:2023-11-29 08:42:34 24 4
gpt4 key购买 nike

我有一个产品主数据,其中有 2 个字段,第一个用于主产品(字段名称为“Under”),第二个用于子产品(字段名称为“Prod_desc”)我想要的是一个嵌套循环,我可以在其中捕获事务表(ECR_CBDC)中的所有代码(字段名称为 Cylno)。

我有 2 个嵌套循环,第一个 while 循环用于 PRODUCT_MASTER,其中根据用户对主产品的选择来选择子产品,第二个循环用于收集所有子产品的代码。

现在的问题是它只收集 1 个值,因为 FOR 循环会覆盖以前的值。是否有其他循环可以保存每个子产品的先前值。

$p=mysql_query("SELECT * FROM PRODMAST WHERE Under='$product'");
while ($p2=mysql_fetch_assoc($p))
{
$prodesc=$p2['Prod_desc'];

$dc=mysql_query("SELECT * FROM ECR_CBDC WHERE Prod_desc='$prodesc' AND usr='$user'");
$num_rows = mysql_num_rows($dc);
$fill_from_array = array(); /* as "value"=>"option" */
for($i = 1; $i <= $num_rows; $i++)
{
$row = mysql_fetch_assoc($dc);
$fill_from_array[$row['Cylno']] = $row['Cylno'];
}
}

最佳答案

如果我理解你的要求 - $fill_from_array 仅收集一行的值 - 我认为你需要在第一个循环之外定义 $fill_from_array ,所以......

$p=mysql_query("SELECT * FROM PRODMAST WHERE Under='$product'");
$fill_from_array = array(); /* as "value"=>"option" */
while ($p2=mysql_fetch_assoc($p))
{
$prodesc=$p2['Prod_desc'];

$dc=mysql_query("SELECT * FROM ECR_CBDC WHERE Prod_desc='$prodesc' AND usr='$user'");
$num_rows = mysql_num_rows($dc);
for($i = 1; $i <= $num_rows; $i++)
{
$row = mysql_fetch_assoc($dc);
$fill_from_array[$row['Cylno']] = $row['Cylno'];
}
}

这样每次 while() 循环时就不会覆盖 $fill_from_array 。你是这个意思吗?

关于php while 和 for 循环填充数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com