开发者

PHP and MYSQL "while" prints only one value

Hey all i have a mind bug with this wile loop , i am a bit of a noob

$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"];

}

So this is the php now in my HTML i have this

*php echo $bio_time_family *

Why dose it echo only one value ?

SIMPLE ANSWER so i tried somethi开发者_开发问答ngh easier like this $bio_fun_family .= $row["bio_fun_family"].",";

and then this

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

I added the .next to the =

It appends the values


You need to store the values in an array, otherwise you're just overwriting one variable each time, so you'll just end up with the last value.

You also need to use a loop to echo out each value in the array.

$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"];
}

And then for the output;

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


With each iteration of the while loop, you're assigning to $bio_time_family the newly extracted value. If you'd like to make an array of the, instead, use $bio_time_family[] = $row["bio_time_family"];


Because every time you run through the loop you're re-assigning $bio_time_family to the next row's value. Try calling echo directly in your loop or add the row to an array, then loop through that and output the rows

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜