我使用这段代码显示一个完整的MySQL表:
$sql="SELECT * FROM billing ";
$rs=mysql_query($sql,$conn);
$fields_num = mysql_num_fields($rs);
echo "<table border='1'><tr>";
for($i=0; $i<$fields_num; $i++) {
$field = mysql_fetch_field($rs);
echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
while($row = mysql_fetch_row($rs)) {
echo "<tr>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "</tr>\n";
}
这显示了每个列的标题,但只有两个列的数据。
如何使它显示所有列,而不必列出每个列名/数组号?
发布于 2014-01-21 09:15:31
只需迭代每一行中的所有列。
$sql="SELECT * FROM billing ";
$rs=mysql_query($sql,$conn);
$fields_num = mysql_num_fields($rs);
echo "<table border='1'><tr>";
for($i=0; $i<$fields_num; $i++) {
$field = mysql_fetch_field($rs);
echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
while($row = mysql_fetch_row($rs)) {
echo "<tr>";
foreach($row as $index => $data) {
echo "<td>".$data."</td>";
}
echo "</tr>\n";
}
发布于 2014-01-21 09:13:44
使用mysql_fetch_array($rs)
而不是mysql_fetch_row($rs),使用上面调用的字段名访问结果集$rs
的每一行,这将简化查询。试试吧..。
发布于 2014-01-21 09:14:03
while($row = mysql_fetch_row($rs)) {
echo "<tr>";
for($i=0; $i<$fields_num; $i++) {
echo "<td>{$row[$i]}</td>";
}
echo "</tr>\n";
}
https://stackoverflow.com/questions/21264670
复制相似问题