我有一个SELECT语句,它返回3个值: Id、titel、erscheinungsdatum。我在两个名为$filme和$datum的数组中获取值。
所有这些都工作得很好,但我希望one表中的两个关联数组作为输出。
$query->bind_result($id, $titel, $date);
$query->execute();
while($query->fetch()) {
$filme[$id] = $titel;
$datum[$id] = $date;
}
if(!empty($filme) && !empty($datum)) {
echo "
<table border='3'>
<th>Filmtitel</th>
<th>ErscheinungsDatum</th>
";
foreach($filme as $key => $value) {
echo "<tr>";
echo "<td>$value</td>";
echo "</tr>";
}
foreach($datum as $key => $value) {
echo "<tr>";
echo "<td>$value</td>";
echo "</tr>";
}
echo "
</table>
";
}我试过双环,merge_function等.
发布于 2014-01-29 15:34:55
我会使用一个二维数组,构造如下:
while($query->fetch()) {
// I suppose some processing is done here...
$filme[$id]['titel'] = $titel;
$filme[$id]['date'] = $date;
}它可以像这样输出:
foreach($filme as $key => $value) {
echo "<tr>";
printf("<td>%s</td><td>%s</td>",$value['titel'],$value['date']);
echo "</tr>";
}如果没有后处理/中间处理,@danmullen的建议也应该有效。
发布于 2014-01-29 15:30:11
我认为您要做的是将两个值(来自$datum和$filme)放在一行中。
因此,在一分钟内,您将每个值输出到单独行中的一个列中。
您需要从一个表行中的两个数组中输出值,以实现所需的输出。
foreach($filme as $key => $value) {
echo "<tr>";
echo "<td>$value</td>";
echo "<td>" . $datum[$key] . "</td>";
echo "</tr>";
}编辑:作为附带说明,您需要用<thead><tr></tr></thead>包装您的<th></th>标记
发布于 2014-01-29 15:29:11
您必须在两个关联数组中获得结果,还是只需要最后一个表?
如果不需要数组,只需在while($query->fetch())中构建表
https://stackoverflow.com/questions/21435352
复制相似问题