我有一个包含数据的数据库,该数据应该在哪个表列中,另一列应该为空
=====================
| data | column |
=====================
| orange | 1 |
| apple | 2 |
| banana | 6 |
=====================
for($i = 1;$i <= 7;$i++) {
$stmt->fetch();
echo ($i == $column ? '<td>' . $data . '</td>' : '<td></td>');
}
Output:
=========================================================
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
=========================================================
| orange | apple | | | | banana | |
=========================================================
到目前为止,如此好,并且填充了第1列的所有行都正常工作
BUT !!!
=====================
| data | column |
=====================
| orange | 3 |
| apple | 4 |
| banana | 5 |
=====================
for($i = 1;$i <= 7;$i++) {
$stmt->fetch();
echo ($i == $column ? '<td>' . $data . '</td>' : '<td></td>');
}
Output:
========================================================
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
=========================================================
| | | | | banana | | |
========================================================
并且第一列为空的所有行都无法正常工作!!!
我也想多次重复这次
=============================================================
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
=============================================================
| orange | apple | | | | banana | |
=============================================================
| | | orange | apple | banana | | |
=============================================================
| | orange | | apple | | | banana |
=============================================================
谢谢你的帮助
修改
完整的代码:
<?php
$query = "SELECT column, data FROM fruits";
if ($stmt = $conn->prepare($query)) {
$stmt->execute();
$stmt->bind_result($column, $data);
?>
<table border="1" style="background-color:#FFFFFF;border-collapse:collapse;border:1px solid #000000;color:#000000;width:100%; text-align: center; vertical-align: center" cellpadding="3" cellspacing="3">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<?php
for($i = 1;$i <= 7;$i++) {
$stmt->fetch();
echo ($i == $column ? '<td>' . $data . '</td>' : '<td></td>');
}
$stmt->close();
} else {
echo $conn->error;
}
$conn->close();
?>
</tr>
</table>
答案 0 :(得分:1)
试试这个,
/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($col1, $col2);
/* fetch values */
while ($stmt->fetch()) {
$myarray[$col1]=$col2;
}
for ($i=1; $i < 10; $i++) {
if(array_key_exists($i, $myarray)){
echo '<td>'. $myarray[$i] .'</td>';
}else{
echo '<td></td>';
}
}
/* close statement */
$stmt->close();
}