将所有行回显到表中


Echo all row's into table

所以我有一个包含 33 列的数据库现在这是我的查询:

    $q3 = "SELECT * FROM qbd";
$r3 = $db1->query($q3);
while ($result = $r3->fetchAll()){
    foreach($result as $row3){
        echo "<tr>";
        echo "<td colspan='2'>Kill ".$row3['ID']."</td>";
        echo "<td>".$row3['Dragon_Bones']."</td>";
        echo "<td>".$row3['Royal_Dragonhide']."</td>";
        echo "</tr>";
    } 
}

我怎样才能做到我只需要 1 个$row3而不需要在其中写下所有列名?

您可以尝试fetch()并获取关联而不是fetchAll。试试这个。

while ($result = $r3->fetch(PDO::FETCH_ASSOC)){
  echo '<tr>';
  foreach($result as $value){
     echo '<td>'.$value.'</td>';
   }
   echo '</tr>';
}

您可以使用第二个 foreach 遍历到您得到的数组,如下所示:

while ($result = $r3->fetchAll())
{
    foreach($result as $row3)
    {
        echo "<tr>";
        foreach($row3 as $key=>$val)
        {
            echo $key;
            echo $val;
        }
        echo "</tr>";        
    } 
}

这将显示键(列名)和其中的值。

如果只想显示值,可以改用以下内容:

while ($result = $r3->fetchAll())
{
    foreach($result as $row3)
    {
        echo "<tr>";
        foreach($row3 as $key=>$val)
        {
            echo $val;
        }
        echo "</tr>";        
    } 
}

如果您只是想列出行表,并希望第一行的标题,那么您可以使用 mysqli_data_seek() 在处理第一行以获取标题后将指针重置回开头。

像这样的东西(假设您可以使用mysqli_fetch_assoc):-

<?php
$q3 = "SELECT * FROM qbd";
$r3 = $db1->query($q3);
if ($result = $r3->fetch_assoc())
{
    echo "<tr>";
    foreach($result as $row3_key=>$row3_value)
    {
        echo "<td>".$row3_key."</td>";
    }
    echo "</tr>";
    $db1->data_seek(0);
    while ($result = $r3->fetch_assoc())
    {
        echo "<tr>";
        foreach($result as $row3_key=>$row3_value)
        {
            echo "<td>".$row3_value."</td>";
        }
        echo "</tr>";
    }
} 
?>

编辑 - 如果您的数据库类不支持 mysqli_data_seek()(或者如果您使用的是无缓冲查询):-

<?php
$q3 = "SELECT * FROM qbd";
$r3 = $db1->query($q3);
if ($result = $r3->fetch_assoc())
{
    echo "<tr>";
    foreach($result as $row3_key=>$row3_value)
    {
        echo "<td>".$row3_key."</td>";
    }
    echo "</tr>";
    OutputRow($result);
    while ($result = $r3->fetch_assoc())
    {
        OutputRow($result);
    }
} 
function OutputRow($result)
{
    echo "<tr>";
    foreach($result as $row3_key=>$row3_value)
    {
        echo "<td>".$row3_value."</td>";
    }
    echo "</tr>";
}
?>
$keys = array();
$values = array();
echo '<table>';
while ($result = $r3->fetchAll()){
    foreach($result as $row3){
        foreach($row3 as $key=>$val){
            for($i=1;$i=30;$i++){
                $keys[]=$key;
            }
            $values[] = $val;       
        }   
        echo '<tr>';
        foreach($keys as $k){
            echo $k;
        }            
        foreach($values as $v){
            echo $v;
        }
        echo '</tr>';
    } 
}
echo '</table>'     
相关文章:
  • 没有找到相关文章