explode() function problem maybe


Posted on 16th Feb 2014 07:03 pm by admin

Hi I'm having trouble searching my database. When I type two words in the search field it only searches for the second word. For example: if I typed london zoo , it will only search for zoo.

Is this something to do with the explode function? I am stuck, any help would be amazing. Thanks

Here is my 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("host","username","password");

//specify database ** EDIT REQUIRED HERE **
mysql_select_db("database_name") or die("Unable to select database");

// Build SQL Query
$search_words = (explode(' ', $trimmed));
foreach ($search_words as $word) {
$query = "select * from table where Organisation like '%$word%' UNION select * from table where Location like '%$word%' UNION select * from table where Prices like '%$word%' UNION select * from table where Toddlers like '%$word%' UNION select * from table where Indoor_Outdoor like '%$word%'
order by Organisation"; }

$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: &quot;" . $trimmed . "&quot; 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: &quot;" . $var . "&quot;</p>";


// now you can display the results returned
// begin to show results set
echo "Results <br /><br />";
$count = 1 + $s ;

// now you can display the results returned
while ($row= mysql_fetch_array($result)) {
$title = $row["Result"];
$col = $row["Organisation"];
$col1 = $row["Location"];
$col2 = $row["Indoor_Outdoor"];
$col3 = $row["Prices"];
$col4 = $row["Toddlers"];
$col5 = $row["Primary"];
$col6 = $row["Junior"];
$col7 = $row["High_School"];
$col8 = $row["All_Family"];
$col9 = $row["Telephone"];
$col10 = $row["Website_Address"];

echo '<div class="results">';
echo "<div class="title"> $col</div>";
echo "<div class="subheadings">Indoors or Outdoors? $col2</div>";
echo "<div class="subheadings">Price Range in £'s: $col3</div>";
echo "<div style="clear:both"></div>";
echo "<div class="suitable">Suitable for toddlers? $col4<br /> Suitable for primary schools? $col5 <br />Suitable for junior schools? $col6 <br />Suitable for high schools?$col7<br /> Suitable for all the family? $col8</div>";
echo "<div class="lo">Location: $col1</div>";
echo "<div style="clear:both"></div>";
echo "<div class="lo">Telephone Number: $col9</div>";
echo "<div style="clear:both"></div>";
echo "<div class="website">Website Addess: <a href="$col10">$col10</a></div>";
echo "<br /><br />";
echo "</div>n";

$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 "&nbsp;<a href="$PHP_SELF?s=$prevs&q=$var">&lt;&lt;
Prev 10</a>&nbsp&nbsp;";
}

// 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 "&nbsp;<a href="$PHP_SELF?s=$news&q=$var">Next 10 &gt;&gt;</a>";
}

$a = $s + ($limit) ;
if ($a > $numrows) { $a = $numrows ; }
$b = $s + 1 ;
echo "<p>Showing results $b to $a of $numrows</p>";

?>

No comments posted yet

Your Answer:

Login to answer
116 Like 24 Dislike
Previous forums Next forums
Other forums

Add 5 to a variable when a button is clicked, and re-run a for loop
So I'm making a feedback sort of section on a website with MySQL and PHP, I've gotten the script to

Need help/w Page: 1,2,3,4 function!
So I have this code im working on where it's ment to display seperate pages having 20 logs each
I

Making multiple rows with one query
I have a table called efed_handler_characters with two fields handler_id and bio_id. What query 2 is

Appending GET data with form submition
Okay, what I'm trying to do is to use a form to append an already existing GET data string.

I

Help with lottery style system?
I'm working on a currency system for forums and it is going to have a type of lottery system built i

PHP time (deadline within one week)
I have a column ['projdue'], which stores the deadline for a project.
I have PHP code and <

PHP5/Zend 2.0 - Resources
PHP5 Snapshots
http://snaps.php.net/

ZEND 2.0 Feature Overview and Design (PDF File

How to separate records and ORDER BY
Let say i have 100 records and displayed in one page, then i want to get the records from 50-100 and

Disabling SAP menu
How do I disable SAP menu for all the users and just restrict them to User Menu in SAP ECC 6.0?

value not going in data base
hello friends....
i am having a working javascript....when i am selecting any

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash