基于具有空单元格的数据库创建表


create table based on database with empty cells

我有一个数据库,其中包含数据以及该数据应该在哪个表列上,另一列应该为空

 =====================
|   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 列的行都工作正常

但!!!

 =====================
|   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>

试试这个,

 /* 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();
}