如何打印一个表的所有结果而不需要逐个打印变量?

时间:2021-04-10 17:27:04

标签: php mysqli

一些更简单的方法可以将所有这些结果打印在具有数据表各自列名的两列表中,而无需逐个打印变量。

我正在使用 mysqli 面向对象的 PHP,而不是使用 PDO,请不要这样:(fetchAll(PDO::FETCH_ASSOC);)。

    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result(
        $id_logtrama, $fechaHora, $idCliente,
        $idEquipo, $statusGlobal, $temp,
        $tempAmb, $hrelAmb, $presion,
        $termopar1, $termopar2, $volt_fase1,
        $amps_fase1, $frec_fase1, $fpot_fase1,
        $volt_fase2, $amps_fase2, $frec_fase2, $fpot_fase2, 
        $volt_fase3, $amps_fase3, $frec_fase3, $fpot_fase3, 
        $status_temp, $status_tempAmb, $status_hrelAmb, $status_presion,
        $status_termopar1, $status_termopar2, $status_volt_fase1,
        $status_amps_fase1, $status_frec_fase1, $status_fpot_fase1,
        $status_volt_fase2, $status_amps_fase2, $status_frec_fase2,
        $status_fpot_fase2, $status_volt_fase3, $status_amps_fase3,
        $status_frec_fase3, $status_fpot_fase3, $trama
    );
    while ($stmt->fetch()) {}

1 个答案:

答案 0 :(得分:1)

我假设这是一行有很多列,但即使您有多行,也可以使用 $res = $stmt->store_result(); 获取结果集,然后您可以将该行作为关联数组获取并使用其名称处理每一列和像这样的内部 foreach 循环中的值

    $stmt->execute();
    $res = $stmt->store_result();
?>
    <table class="table table-bordered">
<?php
    # Fetch each row from resultset
    while ( $row = $res->fetch_assoc() ){
        # for each row process each column
        foreach ($row as $name => $val ) {

            echo "
                <tr>
                    <td width='30%'><label>$name</label></td>
                    <td width='70%'>$val</td>
                </tr>";
        }
    }

相关问题