PDA

View Full Version : Dang While Loop


Twilkey
04-07-2011, 04:08 AM
I am trying to make a list from my database and so to do that I am using a while loop. The problem I am having is that when the code hits while() it seems to crap out and not do anything. Then it passes the loop and goes on its way.

Now, everything outside the loop from what I have seen works just fine, and I even pulled out the template render code and just displayed it and that worked.
The only line I could figure has a problem is
while ($downloads_users = $vbulletin->db->fetch_array($downloads_user_query))
And I don't see any issue in that line. I even use that while loop in another file, just slightly edited.

I did a vardump() on $downloads_user_query and returned array(2) { ["userid"]=> string(4) "6934" ["username"]=> string(7) "Twilkey" } so i know my function works, but just to be sure, I went ahead and worked the query directly in the code below and the wile loop still didn't work.

I even got rid of all code but the query and the while loop and still got nothing. I tried to echo $downloadsusername from within the loop and that was blank.

So what is wrong here?

$max = 10;

$vbulletin->input->clean_array_gpc('r', array(
'perpage' => TYPE_UINT,
'pagenumber' => TYPE_UINT,
));
$userscount = getTotalUsers("downloads_skins");
// Make sure all these variables are cool
sanitize_pageresults($userscount, $pagenumber, $perpage, 100, $max);
// Default lower and upper limit variables
if ($vbulletin->GPC['pagenumber'] < 1)
{
$vbulletin->GPC['pagenumber'] = 1;
}
else if ($vbulletin->GPC['pagenumber'] > ceil(($userscount + 1) / $perpage))
{
$vbulletin->GPC['pagenumber'] = ceil(($userscount + 1) / $perpage);
}
$limitlower = ($vbulletin->GPC['pagenumber'] - 1) * $perpage;
$limitupper = ($vbulletin->GPC['pagenumber']) * $perpage;

$downloads_user_query = getUsers("downloads_skins", $limitlower, $perpage);

while ($downloads_users = $vbulletin->db->fetch_array($downloads_user_query))
{
$downloadsuserid = $downloads_users['userid'];
$downloadsusername = $downloads_users['username'];
$downloads_user_downloads = getTotalDownloads("downloads_skins", $downloadsuserid);
$downloads_user_uploads = getTotalUploads("downloads_skins", $downloadsuserid);

$templater = vB_Template::create('downloads_user_list');
$templater->register_page_templates();
$templater->register('downloadsuserid', $downloadsuserid);
$templater->register('downloadsusername', $downloadsusername);
$templater->register('downloads_user_downloads', $downloads_user_downloads);
$templater->register('downloads_user_uploads', $downloads_user_uploads);
$downloads_user_list .= $templater->render();
}

Boofo
04-07-2011, 04:41 AM
What is the getUsers function?

Twilkey
04-07-2011, 05:08 AM
function getUsers($dbtable, $limitlower, $perpage) {
global $vbulletin;
global $db;

$downloadslistusers = $vbulletin->db->query_first("SELECT DISTINCT userid, username FROM " . TABLE_PREFIX . "$dbtable ORDER BY id DESC LIMIT $limitlower, $perpage");

return $downloadslistusers;
}

Boofo
04-07-2011, 05:51 AM
You need to change:

$vbulletin->db->query_first


to

$vbulletin->db->query_read


don't you?

Twilkey
04-07-2011, 01:25 PM
I tried that and then the query didn't return anything.

--------------- Added 1302268443 at 1302268443 ---------------

Noone seeing something I am not?

Twilkey
04-09-2011, 04:15 PM
Noone?