As for now my search engine works, the only problem is that it only searches the last word and not all of the checked words. My formula looks like this:
Code: Select all
<form method="POST" action="<?=$_SERVER["PHP_SELF"]?>">
<p>Search for:
</p>
Books: <input type="checkbox" name='search' value="books">
Movies: <input type="checkbox" name='search' value="movies">
Outdoor: <input type="checkbox" name='search' value="outdoor">
Indore: <input type="checkbox" name='search' value="indore">
</p>
<p><input type='submit' value='Search'></p>
</form> Code: Select all
<?php
if(isset($_POST['search']))
{
$connx = mysql_connect('localhost', '*******', ',*********') or die("connx");
$db = mysql_select_db('*********') or die(mysql_error());
# convert to upper case, trim it, and replace spaces with "|":
$search = mysql_real_escape_string($search);
$search = strtoupper(preg_replace('/\s+/', '|', ($_POST['search'])));
# create a MySQL REGEXP for the search:
$regexp = "REGEXP '[[:<:]]($search)[[:>:]]'";
$query = "SELECT * FROM `keywords` WHERE UPPER(`keywords01`) $regexp OR ".
"`keywords02` $regexp OR ".
"`keywords03` $regexp OR ".
"`keywords04` $regexp";
$result = mysql_query($query) or die($query . " - " . mysql_error());
echo "<table>\n";
while($row = mysql_fetch_assoc($result))
{
echo "<tr>";
echo "<td><img src=../{$row['type']}/{$row['folder']}/{$row['date']}-{$row['num']}/{$row['thumbimage']} border=1></td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['date']}</td>";
echo "<td><a href=../view.php?id={$row['id']} target=blank>VIEW</a></td>";
echo "</tr>\n";
}
}
else {
echo "<p>Sorry, no results matched your search.</p>";
}
?> Hope someone can help.