[英]PHP arrays in HTML table
我有3个PHP数组,我把它放在HTML表格中。 表头正确显示但数据没有。 那是<td>
的。 表行和<td>
显示在彼此之下而不是列中。 我怎样才能解决这个问题?
这是我的代码:
echo '<table border="1"><tr><th><b>Gebruikersnaam</b></th><th>Functie</th><th>E-mailadres</th></tr>';
sort($result);
foreach($result as $key)
{
echo '<tr>';
echo '<td>'.$key.'</td>';
echo '</tr>';
}
foreach ($result as $key=>$function)
{
$check = $adldap->user()->info($function, array("title"));
$title = $check[0]['title'][0];
if(empty($title)) {
echo '<td>Geen functie</td>';
} else {
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
}
}
foreach ($result as $key=>$function)
{
$check = $adldap->user()->info($function, array("mail"));
$title = $check[0]['mail'][0];
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
}
echo '</table>';
}
这是一个想法我的问题是什么:
| Column 1 | Column 2 | Column 3 |
----------------------------------------------------
| value1 | | |
|---------------------------------------------------
| value2 | | |
|---------------------------------------------------
| value3 | | |
|---------------------------------------------------
| value4 etc | | |
|---------------------------------------------------
所有数组都出现在第一列中。 我用<tr> <td>
没什么用。
编辑这是$ result变量。 (使用ADLDAP php类)。
$result = $adldap->group()->members($groepbekijken, $sorted = true);
你正在构建不正确的html,在每个<td></td>
你还有一个</tr>
结束标记。
foreach($result as $key)
{
echo '<tr>';
echo '<td>'.$key.'</td>';
echo '</tr>';
}
在这里你只输出1
foreach ($result as $key=>$function)
{
$check = $adldap->user()->info($function, array("title"));
$title = $check[0]['title'][0];
if(empty($title)) {
echo '<td>Geen functie</td>';
} else {
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
}
}
在这里输出<td></td>
或输出<tr><td><td></tr>
foreach ($result as $key=>$function)
{
$check = $adldap->user()->info($function, array("mail"));
$title = $check[0]['mail'][0];
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
}
在这里输出<tr><td></td></tr>
那么,问题是什么呢? 好吧,你的代码很乱。 对不起,但确实如此。
你有三次相同$结果的foreach。 为什么?
把它放在一个foreach中,使它更具可读性:
foreach ( $result as $key => $functions )
{
echo '<tr>';
echo '<td>'.$key.'</td>';
$check = $adldap->user()->info($function, array("title"));
$title = $check[0]['title'][0];
if( empty($title) )
{
echo '<td>Geen functie</td>';
} else
{
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
}
$check = $adldap->user()->info($function, array("mail"));
$title = $check[0]['mail'][0];
echo '<tr>';
echo '<td>'.$title.'</td>';
echo '</tr>';
echo '</tr>';
}
但话说回来,这仍然是糟糕的代码。 不要混淆演示文稿'html'和逻辑'那$ adlap-> thing'。
请不要在函数中回显东西。 将其作为字符串返回,然后回显它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.