This code only returns one row, but it should return 2 rows. I have tried the sql in php myadmin and it perfectly returned 2 rows. What am I doing wrong here?
$request_list_result = $mysqli->query(\"
SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status=\'0\' AND buddy_reciepient_id=\'\". get_uid() .\"\'\");
$request_list_row = $request_list_result->fetch_array();
echo $request_list[\'user_fullname\'];
Btw, the code above is getting process to profile.php via following script:
$index = new Template(\'views/template/one.php\', array(
\'subtitle\' => \'Dashboard\',
\'stylesheets\' => array(\'/assets/css/profile.css\'),
\'scripts\' => array(\'/assets/js/dashboard.js\'),
\'sidebar\' => \'sidebar.php\',
\'content\' => \'views/profile.php\',
\'errors\' => $errors,
\'successes\' => $successes,
\'request_list\' => $request_list_row //right here
), true);
You need to loop through the results (as TheSmose mentioned)
while ($request_list_row = $request_list_result->fetch_array()) {
echo $request_list[\'user_fullname\'];
}
AND you need to send the resulting array $request_list
to the template rather than $request_list_row
.
Change this
\'request_list\' => $request_list_row //right here
to this
\'request_list\' => $request_list //right here
If you want more than just user_fullname
in your template (and you don\'t have PHP >= 5.3 required for mysqli_result::fetch_all
), then you will need to build up your own array inside the loop.
I don\'t know what your template code expects, but you could try
while ($request_list_row = $request_list_result->fetch_array()) {
echo $request_list[] = $request_list_row;
}
mysqli_result::fetch_array
only fetches a single row as an array, you are looking for
mysqli_result::fetch_all
to fetch all the rows.
More info here
http://php.net/manual/en/mysqli-result.fetch-all.php
You need to loop through the results. As it stands, you\'re only fetching the first row.
$uid = get_uid();
$sql = \"SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname
FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status=\'0\' AND buddy_reciepient_id=\'{$uid}\'\";
$request_list_result = $mysqli->query($sql);
while ($request_list_row = $request_list_result->fetch_array()) {
echo $request_list[\'user_fullname\'];
}