PHP+MySQL将MySQL数组打印到表中
我在下面有一个查询函数代码,用于读取数据库,我想知道如何将打印结果循环输出到一个类似以下的表中: 我用这个来得到它:PHP+MySQL将MySQL数组打印到表中,php,mysql,arrays,printing,html-table,Php,Mysql,Arrays,Printing,Html Table,我在下面有一个查询函数代码,用于读取数据库,我想知道如何将打印结果循环输出到一个类似以下的表中: 我用这个来得到它: $visa=$DB->query("SELECT fname,lname,email FROM users"); echo '<table BORDERCOLOR=black>'; ?> <tr> <th>Name</th><th>LastName</th>
$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;
}
}
用于或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是一个查询结果数组,要显示其中的所有值,您只需在该数组上进行太多的循环,您也可以通过字段名进行循环,如下所示:
<?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>";
谢谢你,完全做到了,我不知道这些foreach循环在php中是如何工作的。你知道有没有办法在name/lastname/email之间添加行?我可以在8分钟内接受你的回答你的意思是什么?您可以使用CSS或向表标记添加边框,如下所示:。我希望我没有误解你的意思: