I want to display information from multiple rows. Without changing the majority of my code, how can I echo the multiple rows on my webpage that have user_id_offerer
= '$offerer'. I did echo the mysql query and I got the result of Resource Id #14 and I understand a while loop is necessary, but it seems like there is a problem with mysql. How do I fix this?
Clarification: When I ran the code with the while loop, I received an infinite loop of the first row. I did not receive each individual row that had user_id_offerer
= 'offerer'. How do I fix this without having to do a major re-write of the code.
function ergo_data ($offerer) {
$data = array();
$offerer = (int)$offerer;
$func_num_args = func_num_args();
$func_get_args = func_get_args();
if ($func_num_args > 1) {
unset($func_get_args[0]);
$fields ='`' . implode ('`, `', $func_get_args) . '`';
$data = mysql_fetch_assoc (mysql_query("SELECT $fields FROM `ergo` WHERE `user_id_offerer` = '$offerer'"));
return $data;
}
}
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$ergo_data = ergo_data($session_user_id, 'primary_key', 'user_id_offerer', 'user_id_seeker', 'ergo', 'ergo_time_submitted');
}
echo $ergo_data['ergo'] . '<br>';
echo username_from_user_id($ergo_data['user_id_offerer']) . '<br>';
echo username_from_user_id($ergo_data['user_id_seeker']) . '<br>';
echo $ergo_data['ergo_time_submitted'];`
I think you need to return the result of mysql_query from your ergo_data() function (instead of the result of mysql_fetch_assoc), then call mysql_fetch_assoc in the loop:
// inside ergo_data(), change
// $data = mysql_fetch_assoc (mysql_query("SE ...
// to:
function ergo_data ($offerer) {
...
return mysql_query("SELECT $fields FROM `ergo`....");
}
...
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$query_result = ergo_data($session_user_id, 'primary_key', 'user_id_offerer', 'user_id_seeker', 'ergo', 'ergo_time_submitted');
while($ergo_data = mysql_fetch_assoc($query_result)) {
echo $ergo_data['ergo'] . '<br>';
echo username_from_user_id($ergo_data['user_id_offerer']) . '<br>';
echo username_from_user_id($ergo_data['user_id_seeker']) . '<br>';
echo $ergo_data['ergo_time_submitted'];
}
}