我有一个包含用户信息的数据库。我希望让激活帐户的用户显示他们的姓名以及他们拥有多少积分。
因此数据库(users
)中包含以下信息:
first_name|last_name|points|active
Joe | Normal |199 |1
Jane | Average |50 |1
我用来打印的所有代码如下
$user_info = mysql_query("SELECT `first_name`, `last_name`, `points` FROM `users` WHERE `active`=1");
$user = mysql_fetch_array($user_info);
foreach($user as $key=>$value){
echo 'INDEX: ' . $key , ' VALUE: ' . $value;
echo '<br> Test get First name: ' .$value['first_name'];
echo '<br>-------------------------------<br><br>';
}
这会显示以下内容
INDEX: 0 VALUE: Joe
Test get First name: J
-------------------------------
INDEX: first_name VALUE: Joe
Test get First name: J
-------------------------------
INDEX: 1 VALUE: Normal
Test get First name: T
-------------------------------
INDEX: last_name VALUE: Normal
Test get First name: T
-------------------------------
INDEX: 2 VALUE: 199
Test get First name: 1
-------------------------------
INDEX: points VALUE: 199
Test get First name: 1
-------------------------------
答案 0 :(得分:0)
mysql_fetch_array
获取一行并返回特定格式的数组。
要获取所有用户,请执行while循环:
$users = array();
while ($row = mysql_fetch_array($user_info)) {
$users[] = $row;
}
现在你可以做到:
foreach($users as $key => $user){
echo 'INDEX: ' . $key , ' VALUE: ' . $value;
echo '<br> Test get First name: ' .$user['first_name'];
echo '<br>-------------------------------<br><br>';
}
答案 1 :(得分:0)
mysql_fetch_array
只从结果中读取一行。您的foreach
循环遍历列,而不是行。
你需要循环调用它:
while ($row = mysql_fetch_array($user_info)) {
echo '<br> Test get First name: ' . $row['first_name'];
echo '<br>-------------------------------<br><br>';
}