Developing A Site Search Engine With PHP And MySQL - The searchdocs.php script
(Page 4 of 7 )
Our PHP search script will be fairly simple, and will be used to demonstrate one way of retrieving records from the articles table based on selective keywords. Create a new script named searchdocs.php and save it in a directory that Apache can process. Enter the framework code for our search routine into searchdocs.php:
<?php
$submit = $_POST["submit"];
$keywords = $_POST["keywords"];
if(isset($submit) || isset($keywords))
{
doSearch($keywords);
}
else
{
getKeywords();
}
function getKeywords()
{
}
function doSearch($search_keywords)
{
}
?>Our search script starts out by assigning the values of two form variables collected from the $_POST associative array to local variables, $submit and $keywords. In PHP v4.1 and later, the $HTTP_POST_VARS[] associative array has been deprecated and it's recommended that you use the $_POST associative array instead (see
this link for more info).
By default, the $submit variable will contain no data, and will thus be unset, so the getKeywords function will be called. Enter the following code into the getKeyWords function:
function getKeywords()
{
?>
<html>
<head>
<title> Enter Search Keywords </title>
</head>
<body bgcolor="#FFFFFF">
<form name="frmKW" action="searchdocs.php" method="post">
<h1>Keyword Search</h1>
Enter keywords to search on:
<input type="text" name="keywords" maxlength="100">
<br><br><input type="submit" name="submit" value="Search">
</form>
</body>
</html>
<?php
}The getKeyWords function allows the user to enter keywords into a text box and looks like this:

When the search button is clicked, the name and value of the text box and submit button is passed back to our script. Recall earlier that the getKeyWords function is called when isset($keywords) is false.
This time round, $keywords (which is the value of the text box from PHP's $_POST associative array) contains some data, and so the doSearch function is called instead, passing $keywords in as its parameter.
Next: The doSearch function >>
More MySQL Articles
More By Mitchell Harper