我有一个查询功能(下面的代码),我用来读取数据库,我想知道如何循环打印输出-ALL-结果到表格中,如下所示:
我用它来得到它:
$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;
}
}
答案 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>";