2

我有一个数组。

$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有两行,但它只打印一个。

4

8 回答 8

6

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

您的循环应该看起来像那里的每个教程:

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

注意fetch_assoc,不是fetch_arrayfetch_array如果您不打算使用数字索引,则调用毫无意义。

于 2012-08-31T06:37:51.997 回答
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'];
  }
 ?>

希望它会有所帮助。快乐编码!

于 2012-08-31T08:32:53.067 回答
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));
}
于 2012-08-31T06:41:10.130 回答
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'];
}
于 2012-08-31T06:41:57.540 回答
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'];
  }
 }
于 2012-08-31T06:37:56.533 回答
0

尝试这个

$result = mysql_query("your select query");
while($row = mysql_fetch_assoc($result)){
echo $row['columnNam1'];
echo $row['ColumnName2'];
}
于 2012-08-31T06:52:02.770 回答
0

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

您错误地使用了mysql_fetch_assoc. 查看手册页和那里的示例代码以获取您的解决方案。(当您在那里时,请注意大红色的已弃用通知;请继续阅读!)。

于 2012-08-31T06:37:17.203 回答
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'];

}
于 2012-08-31T07:09:20.003 回答