View Full Version : No results showing
HS2005
04-03-2009, 07:27 PM
I want to select thread names but i do not get any results. I know my query isn't right.
But i would like to know what i am doing wrong.
In PHPMYadmin:
SELECT *
FROM `(TABLE PREFIX)`.`thread`
WHERE (
`title` LIKE '%a%'
)
LIMIT 0 , 30
And my code:
$itemcount = $db->query_first("
SELECT COUNT(`uid`) AS `itemcount`
FROM `" . TABLE_PREFIX . "thread` WHERE title LIKE '" . $letter . "%'");
Thanks :)
Lynne
04-03-2009, 07:34 PM
Maybe:
$itemcount = $db->query_first("
SELECT COUNT(uid) AS itemcount
FROM " . TABLE_PREFIX . "thread WHERE title LIKE '" . $letter . "%'");
HS2005
04-03-2009, 08:20 PM
Thanks for the fast reply.
I still don't see anything so my error must be somewhere else.
I want to display all the threads and select them by letter doing:
url/page.php?do=alphasearch<r=A
I made a thread with the title aaaaaa for example :)
Any suggestions? :)
Lynne
04-03-2009, 08:30 PM
Well, all that does is get a count ($itemcount[itemcount]). Are you saying you aren't getting a count? Perhaps post more of your code along with the template part that spits it out.
HS2005
04-03-2009, 08:45 PM
Indeed true :)
This is my page called page.php along with the code:
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'Page'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
);
// get special data templates from the datastore
$specialtemplates = array(
);
// pre-cache templates used by all actions
$globaltemplates = array(
'alphamenu',
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = array();
$navbits[$parent] = 'alphamenu';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('alphamenu') . '");');
if ($_REQUEST['do'] == 'alphamenu')
{
if(empty($_REQUEST['ltr']))
{
eval(standard_error(fetch_error('error_invalidurl' ))); // Error phrase for invalid url
}
$vbulletin->input->clean_gpc('g', 'ltr', TYPE_STR);
$letter=$db->escape_string($vbulletin->GPC['ltr']);
//****Beginning Page Navigation ***//
// Default page variables
$perpage = $vbulletin->input->clean_gpc('r', 'perpage', TYPE_UINT);
$pagenumber = $vbulletin->input->clean_gpc('r', 'pagenumber', TYPE_UINT);
// Count all log entries
$itemcount = $db->query_first("
SELECT COUNT(uid) AS itemcount
FROM " . TABLE_PREFIX . "thread WHERE title LIKE '" . $letter . "%'");
if ($itemcount['itemcount'] == 0) { // Show if recordset empty
$emptysearch=true; // With this, you can easily create a condition in the template to show NO ITEMS message
} // Show if recordset empty
// Make sure all these variables are cool
sanitize_pageresults($itemcount['itemcount'], $pagenumber, $perpage, 10, 25); //Change 8 to as many records you want to show per page
// Default lower and upper limit variables
$limitlower = ($pagenumber - 1) * $perpage + 1;
$limitupper = $pagenumber * $perpage;
if ($limitupper > $itemcount['itemcount'])
{
// Too many for upper limit
$limitupper = $itemcount['itemcount'];
if ($limitlower > $itemcount['itemcount'])
{
// Too many for lower limit
$limitlower = $itemcount['itemcount'] - $perpage;
}
}
if ($limitlower <= 0)
{
// Can't have negative or null lower limit
$limitlower = 1;
}
eval('$alphamenu .= "' . fetch_template('alphamenu') . '";'); //Use this line of code to show alphamenu in any sub-page you want. Then simply use $alphamenu variable in the associated template.
$query_Searchltr=$db->query_read("SELECT * from " . TABLE_PREFIX . "thread WHERE title LIKE '" . $letter . "%' LIMIT " . ($limitlower - 1) . ", $perpage"); //Change colname to the same column name you had set in the above count query
while ($search_result = $db->fetch_array($query_Searchltr))
{
$row_id=$search_result['uid'];
$row_name=$search_result['name'];
$row_class=$search_result['class'];
// and so on...
}
// Finally construct the page nav
$pagenav = construct_page_nav($pagenumber, $perpage, $itemcount['itemcount'], 'page.php?do=alphasearch' . $vbulletin->session->vars['sessionurl'] . '&ltr=' . $letter);
//****End Page Navigation******//
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('mysearchbits') . '");'); //The main output prints on mysearchbits template, so create it and use variables defined within the while loop above for results
$db->free_result($query_Searchltr);
}
?>
and then the template:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle] - Powered by TheDarkPrince</title>
$headinclude
</head>
<body>
$header
$navbar
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td> <font color="orange">SD</font></td>
</tr>
<br>
<tr>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=A">A</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=B">B</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=C">C</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=D">D</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=E">E</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=F">F</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=G">G</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=H">H</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=I">I</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=J">J</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=K">K</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=L">L</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=M">M</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=N">N</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=O">O</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=P">P</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=Q">Q</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=R">R</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=S">S</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=T">T</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=U">U</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=V">V</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=W">W</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=X">X</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=Y">Y</a></td>
<td class="alt2" width="3%"><a href="page.php?do=alphasearch&ltr=Z">Z</a></td>
</tr>
</table>
$footer
</body>
</html>
Lynne
04-03-2009, 08:48 PM
You need to eval your template, alphamenu, *after* you define any variables you want to use in it. And, you can't eval it twice. Try removing this line (after the eval of the navbar):
eval('print_output("' . fetch_template('alphamenu') . '");');
HS2005
04-03-2009, 08:59 PM
Oke i removed it, but then i get a blank page, where do i need to eval the template alphamenu? :)
Lynne
04-03-2009, 09:07 PM
Well, you've got some weird things going on. I assume that the template you posted is your alphamenu template, so the line I had you remove, should actually go right above the ?> . However, you also are evaling the template right above the line that starts with "$query_Searchltr". And then you are also evaling mysearchbits for some reason. And then nowhere in your template are you using any variable/information that you are defining in the php code. I really can't tell what you are doing in your code.
HS2005
04-03-2009, 09:13 PM
true my template is called "alphamenu".
i placed the code
eval('print_output("' . fetch_template('alphamenu') . '");');
above ?>
And i also placed $alphamenu in the template now.
is that all correct?
Lynne
04-03-2009, 09:26 PM
I doubt it. You can't define $alphamenu as being that evaled template and then place it in the same template. That doesn't make any sense.
HS2005
04-03-2009, 09:29 PM
hmm oke :) So what do you advice in orde to show the results ?:)
Lynne
04-03-2009, 09:39 PM
I would start with getting a basic page, with the template, up and showing something. Then slowly add in the code/queries and get each thing working step-by-step.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2024, vBulletin Solutions Inc.