Hi,
I am trying to do a simple search. Upon clicking the Search button I do not see any search results. I am new to this. I am using the GET in the Form Method. Following is my code. I have tested the form independednt of joomla and it works ok.
Am I misisng something? I have not used anything in Form URL.
HTML Code:
Edited to add code tags<br><br>Post edited by: GreyHead, at: 2008/04/15 13:55
I am trying to do a simple search. Upon clicking the Search button I do not see any search results. I am new to this. I am using the GET in the Form Method. Following is my code. I have tested the form independednt of joomla and it works ok.
Am I misisng something? I have not used anything in Form URL.
HTML Code:
<html>
<head>
</head>
<body>
<input type="text" name="q" />
<input type="submit" name="Submit" value="Search" />
</body>
</html>
On Submit Code:<?php
// Get the search variable from URL
$var = @$_GET['q'] ;
$trimmed = trim($var); //trim whitespace from the stored variable
// rows to return
$limit=10;
// check for an empty string and display a message.
if ($trimmed == ""«»)
{
echo "<p>Please enter a search...</p>";
exit;
}
// check for a search parameter
if (!isset($var))
{
echo "<p>We dont seem to have a search parameter!</p>";
exit;
}
//connect to your database ** EDIT REQUIRED HERE **
mysql_connect("localhost","root",""«»); //(host, username, password)
//specify database ** EDIT REQUIRED HERE **
mysql_select_db("joomla15"«») or die("Unable to select database"«»); //select which database we're using
// Build SQL Query
$query = "select * from jos_chronoforms_1 where fname like \"%$trimmed%\"
order by fname"; // EDIT HERE and specify your table and field names for the SQL query
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
// If we have no results, offer a google search as an alternative
if ($numrows == 0)
{
echo "<h4>Results</h4>";
echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";
// google
echo "<p><a href=\"http://www.google.com/search?q="
. $trimmed . "\" target=\"_blank\" title=\"Look up
" . $trimmed . " on Google\">Click here</a> to try the
search on google</p>";
}
// next determine if s has been passed to script, if not use 0
if (empty($s)) {
$s=0;
}
// get results
$query .= " limit $s,$limit";
$result = mysql_query($query) or die("Couldn't execute query"«»);
// display what the person searched for
echo "<p>You searched for: "" . $var . ""</p>";
// begin to show results set
echo "Results";
$count = 1 + $s ;
// now you can display the results returned
while ($row= mysql_fetch_array($result)) {
$title = $row['Fname'];
//echo "$count.) $title";
echo $row['Fname'];
$count++ ;
}
$currPage = (($s/$limit) + 1);
//break before paging
echo "<br />";
// next we need to do the links to other results
if ($s>=1) { // bypass PREV link if s is 0
$prevs=($s-$limit);
print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><<
Prev 10</a> ";
}
// calculate number of pages needing links
$pages=intval($numrows/$limit);
// $pages now contains int of pages needed unless there is a remainder from division
if ($numrows%$limit) {
// has remainder so add one page
$pages++;
}
// check to see if last page
if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {
// not last page so give NEXT link
$news=$s+$limit;
echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>";
}
$a = $s + ($limit) ;
if ($a > $numrows) { $a = $numrows ; }
$b = $s + 1 ;
echo "<p>Showing results $b to $a of $numrows</p>";
?>
Edited to add code tags<br><br>Post edited by: GreyHead, at: 2008/04/15 13:55
Hi rohit,
You have a lot of hand-built code there which is not using any of the Joomla functionality. I'm afraid that you'll just need to add some debug reports to find out what's happening.
Note: Running it through a PHP debugger suggests that you have double quotes "" in lines 46 & 65
Bob
PS You do not need the html, head or body tags in the html code, just the two input lines.
You have a lot of hand-built code there which is not using any of the Joomla functionality. I'm afraid that you'll just need to add some debug reports to find out what's happening.
Note: Running it through a PHP debugger suggests that you have double quotes "" in lines 46 & 65
Bob
PS You do not need the html, head or body tags in the html code, just the two input lines.
This topic is locked and no more replies can be posted.