我希望在每个以逗号(,)分隔的迭代中,在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>";
}
?>
答案 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循环之外