如何在单个中显示所有值

时间:2018-04-03 11:10:18

标签: php mysql html-table

我希望在每个以逗号(,)分隔的迭代中,在id中显示基于<td>的值。如何实现?目前使用我的代码我根据迭代次数得到<td>,即如果我有3 id,那么我的代码会生成3 <td> s。任何见解都会有所帮助。  我的代码,

<?php
$des_cc = explode(',', $designation_cc_email);
$repo = array();

foreach($des_cc as $out)
{
    $repo[] = $out;
    $sql_reporting1 = "SELECT designation from tbl WHERE id = $out ";
    $sqdes3 = $db->query($sql_reporting1);
    while ($rowdes3 = mysql_fetch_array($sqdes3))
    {
        $desid3 = $rowdes3['designation'];
    }

    echo "<td>" . $desid3 . "</td>";
}

?>

3 个答案:

答案 0 :(得分:1)

如果我没错,您希望在 td 中显示逗号分隔的名称。如果是,那么这样做:

$desigs = array();
while ($rowdes3 = mysql_fetch_array($sqdes3))
{
    $desigs[] = $rowdes3['designation'];
}

echo "<td>" . implode(",",$desigs) . "</td>";

答案 1 :(得分:1)

当然,你处于一个循环中,这就是你获得3 <td> s的原因。

尝试以下操作,将HTML代码从循环中取出

<?php   
$des_cc=explode(',', $designation_cc_email);
$repo=array();
$desid3 = [];
foreach($des_cc as $out) {
  $repo[]= $out;
  $sql_reporting1 =  "SELECT designation from tbl WHERE id = $out ";
  $sqdes3 = $db->query($sql_reporting1);

  while($rowdes3=mysql_fetch_array($sqdes3))
  { 
    $desid3[] = $rowdes3['designation'];
  }
}
echo "<td>".implode(' ', $desid3)."</td>";   
?>

implode()内,使用您选择的任何分隔符。或者您可以手动生成一些字符串放在<td>中,因为$desid3将是array

答案 2 :(得分:-1)

试试这个

<td>
    <?php
     while($rowdes3=mysql_fetch_array($sqdes3))
        { 
           $desid3 =  $rowdes3['designation'];
           echo $desid3.","; 
         }    
          ?> 
    </td>

<td>写在while循环之外