PHP + MySQL将MySQL数组打印到表中

时间:2014-05-31 22:01:32

标签: php mysql arrays printing html-table

我有一个查询功能(下面的代码),我用来读取数据库,我想知道如何循环打印输出-ALL-结果到表格中,如下所示:

enter image description here

我用它来得到它:

$visa=$DB->query("SELECT fname,lname,email FROM users");
    echo '<table BORDERCOLOR=black>';
   ?>
    <tr>
        <th>Name</th><th>LastName</th><th>E-Mail</th>
    </tr>
    <?php
    echo "<td>";
    echo $visa[0]['fname'];
    echo "</td>";
    echo "<td>";
    echo $visa[0]['lname'];
    echo "</td>";
    echo "<td>";
    echo $visa[0]['email'];
    echo "</td>";

查询功能:

function query($querytext) {
        $rs = mysql_query($querytext, $this->_link);
        if($this->_debug) {
            $this->addDebugMessage("\t<tr>\n\t\t<td class=\"debug_nr\">".$this->_queryCount++."</td>\n\t\t<td class=\"debug_queInfo\"><b>Query: (".@mysql_num_rows($rs).")</b></td>\n\t\t<td>" . htmlspecialchars($querytext) . "</td>\n\t</tr>\n");
            if(mysql_error() != '') {
                $this->addDebugMessage("\t<tr>\n\t\t<td class=\"debug_nr\">".$this->_queryCount++."</td>\n\t\t<td class=\"debug_queInfo\"><b>Error #".mysql_errno($this->_link)." :</b></td>\n\t\t<td>" . htmlspecialchars(mysql_error($this->_link)) . "</td>\n\t</tr>\n");
            }
        }
        if($rs) {
            $num_rows = @mysql_num_rows($rs);
            if($num_rows) {
                if($num_rows > 0) {
                    $rsarray = array();
                    while($line = mysql_fetch_array($rs , MYSQL_ASSOC)) {
                        array_push($rsarray, $line);
                    }
                    mysql_free_result($rs);
                    return $rsarray;
                } else {
                    return false;
                }
            } else {
                if(mysql_affected_rows($this->_link) > 0) {
                    return true;
                } else {
                    return false;
                }
            }
        } else {
            return false;
        }
    }

2 个答案:

答案 0 :(得分:1)

用于或foreach循环:

<?php foreach($visa as $v) {
echo "<td>";
echo $v['fname'];
echo "</td>";
echo "<td>";
echo $v['lname'];
echo "</td>";
echo "<td>";
echo $v['email'];
echo "</td>";
}

在您的代码中,$visa是一个查询结果数组,要显示所有值,您只需对该数组进行循环

答案 1 :(得分:1)

您也可以遍历字段名称,如下所示:

<?php
// replace with your own array from the DB query
$visas = array(
        array(  'name' => 'John',
            'age' => '43'),
        array( 'name' => 'Sally',
            'age' => '36')
    );
echo "Visas<br/><table border='1'>";
foreach($visas as $visa) {
    echo "<tr>";
    foreach($visa as $key => $value) {
        echo "<td><em>$key:</em></td><td>$value</td>";
    }
    echo "</tr>";
}
echo "<table>";