PHP和MYSQL“while”只打印一个值

时间:2011-10-05 22:48:34

标签: php mysql

嘿,我对这个诡计循环有一个心灵错误,我有点像菜鸟

$sql_advanced_bio = mysql_query("SELECT * FROM bio_details WHERE mem_id='$id'");
while($row = mysql_fetch_assoc($sql_advanced_bio)){


$bio_time_family = $row["bio_time_family"];

}

所以现在这是我的HTML中的PHP我有这个

*php echo $bio_time_family *

为什么让它只回显一个值?

简单回答 所以我试着像这样的$ bio_fun_family。= $ row [“bio_fun_family”]。“,”;

然后这个

$ bio_fun_family = substr($ bio_fun_family,0,-1);

我将.next添加到=

附加值

3 个答案:

答案 0 :(得分:1)

您需要将值存储在数组中,否则您每次只是覆盖一个变量,因此您最终会得到最后一个值。

您还需要使用循环来回显数组中的每个值。

$sql_advanced_bio = mysql_query("SELECT * FROM bio_details WHERE mem_id='$id'");
$bio_time_family = array();
while($row = mysql_fetch_assoc($sql_advanced_bio)) {
   $bio_time_family[] = $row["bio_time_family"];
}

然后输出;

foreach($bio_time_family as $b) {
   echo($b . '<br />');
}

答案 1 :(得分:0)

对于while循环的每次迭代,您将$bio_time_family分配给新提取的值。如果您想制作数组,请使用$bio_time_family[] = $row["bio_time_family"];

答案 2 :(得分:0)

因为每次运行循环时,您都会将$bio_time_family重新分配给下一行的值。尝试直接在循环中调用echo或将行添加到数组中,然后遍历该行并输出行