如何在select查询中使用循环? 仅从Select Query中一次查询一行一行。我想在Select Query中获取多行但是通过循环
选择ID
$id=$_REQUEST['id'];
function get_id($id){
$result1=mysql_query("select * from products where id='$id'")
or die("Id Problem"."<br/><br/>".mysql_error());
$results1= array();
$k=0; // add the new line
while($row1=mysql_fetch_assoc($result1)){
$results1[] = $row1['id'];
$k++;
}
return $results1;
}
Pid数组
$pid1=get_id($id);
<?php
$max1=count($pid1);
for($n=0; $n<$max1; $n++)
{?>
<input type="hidden" name="pid[]" value="<?php echo $pid1[$n]?>" />
<?php }?>
Pid会话
$_SESSION['pid']=$_POST['pid'];
我希望fetch
选择查询中的多行但是通过循环
<?php
$pid = join(',',$_SESSION['pid']);
$result=mysql_query("SELECT id AS wid FROM mywishlist
where pid='$pid'")
or die("Id Problem"."<br/><br/>".mysql_error());
$results= array();
$i=0; // add the new line
while($row=mysql_fetch_array($result)){
$results[$i] = $row['wid'];
$i++;
}
echo $results;
$max=count($results);
for($j=0; $j<$max; $j++)
{
?>
<input type="text" name="wid[]" value="<?php echo $results[$j]; ?>" />
<?php }?>
答案 0 :(得分:1)
你正在做一些艰难的事情,跟踪和控制在自动驾驶仪上运行良好的事情。例如 - for循环要求你知道长度,而foreach循环只是运行'直到它们完成。
让PHP通过使用[]而不是分配索引来处理数组索引也将为您节省一些精力。因为你的每个循环真的只做一件事,所以它们并不真正需要大括号。
$result=mysql_query('SELECT id AS wid FROM mywishlist where pid="'.$pid.'"') or die();
$results= array();
while($row=mysql_fetch_array($result))
$results[]=$row['wid'];
foreach($results as $wid)
echo '<input type="text" name="wid[]" value="'.$wid.'" />';
当然,您可以消除其中一个循环,因为它们基本上都处理相同的数据......
$result=mysql_query('SELECT id AS wid FROM mywishlist where pid="'.$pid.'"') or die();
while($row=mysql_fetch_array($result))
echo '<input type="text" name="wid[]" value="'.$row['wid'].'" />';
此外,从id到wid重新识别密钥没有多大意义。由于结果中只有一个字段,为什么还要识别它 - 我们只能获取行。
$result=mysql_query('SELECT id FROM mywishlist where pid="'.$pid.'"') or die();
while($row=mysql_fetch_row($result))
echo '<input type="text" name="wid[]" value="'.$row[0].'" />';
哦,让我们分两行进行
$result=mysql_query('SELECT id FROM mywishlist where pid="'.$pid.'"') or die();
while($row=mysql_fetch_row($result)) echo '<input type="text" name="wid[]" value="'.$row[0].'" />';