带有MySQL查询的Foreach循环

时间:2012-08-31 06:32:41

标签: php mysql sql

我有一个数组。

$select_crm=mysql_query("select * from party_details where subcaseid='$under_row[partyid]'");
$select_array=array($select_crm);
if(mysql_num_rows($select_crm)>0)
 {
  foreach($select_array as $v)
  {
    $fetch_crm=mysql_fetch_array($v);
    echo $fetch_crm['party_name'];
    echo $fetch_crm['partyid'];``
  }
 }

但它无法正常工作。 $select_crm有两行,但只打印一行。

8 个答案:

答案 0 :(得分:6)

$select_array是一个只包含一个元素的数组:查询结果资源。因此foreach循环只运行一次,只打印第一项。

你的循环应该看起来像每一个教程:

while($fetch_crm = mysql_fetch_assoc($v)) { ... }

注意fetch_assoc,而不是fetch_array。如果您不打算使用数字索引,则调用fetch_array是没有意义的。

答案 1 :(得分:1)

就我而言,你必须这样做:

$select_crm=mysql_query("select * from party_details where subcaseid='{$under_row['partyid']}'");
if(mysql_num_rows($select_crm)>0)
 {
  while ($select_array = mysql_fetch_assoc($select_crm))
  {
    echo $select_array['party_name'];
    echo $select_array['partyid'];
  }
 }

答案 2 :(得分:1)

$select_crm="select * from party_details where subcaseid='{$under_row[partyid]}'";
$crm = mysql_query($select_crm) or die(mysql_error());
$row_crm = mysql_fetch_assoc($crm);
$totalRows_crm = mysql_num_rows($crm);

if($totalRows_crm > 0) {
    do {
       /*foreach ($row_crm as $field) {
           echo $field;
       }*/

       echo $row_crm['party_name'];
       echo $row_crm['partyid'];
    } while ($row_crm = mysql_fetch_assoc($crm));
}

答案 3 :(得分:1)

不要使用foreach,你应该这样使用,

$select_crm= mysql_query("select * from party_details where subcaseid='$under_row[partyid]'");
while($result = $db->fetchByAssoc($select_crm))
{
   echo $result ['party_name'];
   echo $result ['partyid'];
}

答案 4 :(得分:1)

试试这个:

 <?php 
 $select_crm = 
mysql_query("select * from party_details where subcaseid='$under_row[partyid]'");

 while($select_array = mysql_fetch_assoc($select_crm))
 {
    echo $select_array['party_name'];
    echo $select_array['partyid'];
  }
 ?>
希望它会有所帮助。 快乐的编码!

答案 5 :(得分:0)

您的代码正在迭代一个数组,该数组上面只有2行显式创建,只有一个元素; - )

您错放了mysql_fetch_assoc的使用。查看the manual page以及那里的示例代码以获得解决方案。 (当你在那里时,请注意大红色的DEPRECATED通知;请继续阅读!)。

答案 6 :(得分:0)

试试这个

$result = mysql_query("your select query");
while($row = mysql_fetch_assoc($result)){
echo $row['columnNam1'];
echo $row['ColumnName2'];
}

答案 7 :(得分:0)

使用此:

$select_crm=mysql_query("select * from party_details where subcaseid='$under_row[partyid]'");
while($row=mysql_fetch_assoc($select_crm)) {

echo $row['party_name'];

echo $row['party_id'];

}