我有一个带有一些表的mysql数据库,我做了一个php脚本,会打印一个这样的表:
[user name]
[field 1][field 2][field 3]
[value 1][value 1][value 1]
......等,包含" n"来自与用户名对应的每个字段的值。
但我想要的是为每个用户显示此表,为我的数据库中的每个用户打印此表。我知道我必须在标签之前做一个循环吗?但我不知道这个循环会有哪些条件,有人可以帮我告诉我该怎么做?
答案 0 :(得分:1)
你可以尝试这样的事情。请注意,您必须添加数据库连接信息并更改数据库和表名。
$db_name = 'database';
$table_name = 'table';
mysql_connect() or die("MySQL Error: ". mysql_error());
mysql_select_db($db_name) or die("MySQL Error: ". mysql_error());
$columns_q = mysql_query("SHOW COLUMNS FROM $table_name");
if(!$columns_q){
die("Error fetching columns $table_name: " . mysql_error());
}
echo '<table><tr>';
while($column = mysql_fetch_assoc($columns_q)){
echo '<td>' . $column['Field'] . '</td>';
}
echo '</tr>';
$fields_q = mysql_query("SELECT * FROM $table_name");
if(!$fields_q){
die("Error fetching fields $table_name: " . mysql_error());
}
while($fields = mysql_fetch_assoc($fields_q)){
echo '<tr>';
foreach ($fields as $key => $value) {
echo '<td>' . $value . '</td>';
}
echo '</tr>';
}
echo '</table>';