• Hi,

    I was wondering how to put this php code in WordPress. Can it even be done with it connecting to a separate database? Right now all this is being done Locally.

    <h2>Search</h2>
    <form name=”search” method=”post” action=”<?=$PHP_SELF?>”>
    Seach for: <input type=”text” name=”find” /> in
    <Select NAME=”field”>
    <Option VALUE=”store”>Store</option>
    <Option VALUE=”category”>Category</option>
    <Option VALUE=”product”>Product</option>
    </Select>
    <input type=”hidden” name=”searching” value=”yes” />
    <input type=”submit” name=”search” value=”Search” />
    </form>

    <?php
    //This is only displayed if they have submitted the form
    if ($searching == “yes”)
    {
    echo “<h2>Results</h2><p>”;

    //If they did not enter a search term we give them an error
    if ($find == “”)
    {
    echo “<p>You forgot to enter a search term”;
    exit;
    }

    // Otherwise we connect to our Database
    mysql_connect(“localhost”, “root”, “”) or die(mysql_error());
    mysql_select_db(“savings”) or die(mysql_error());

    // We preform a bit of filtering
    $find = strtoupper($find);
    $find = strip_tags($find);
    $find = trim ($find);

    //Now we search for our search term, in the field the user specified
    $data = mysql_query(“SELECT * FROM users WHERE upper($field) LIKE’%$find%'”);

    //And we display the results
    while($result = mysql_fetch_array( $data ))
    {
    echo $result[‘store’];
    echo ” “;
    echo $result[‘category’];
    echo “”;
    echo $result[‘product’];
    echo “”;
    echo “”;
    }

    //This counts the number or results – and if there wasn’t any it gives them a little message explaining that
    $anymatches=mysql_num_rows($data);
    if ($anymatches == 0)
    {
    echo “Sorry, but we can not find an entry to match your query

    “;
    }

    //And we remind them what they searched for
    echo “<b>Searched For:</b> ” .$find;
    }
    ?>

Viewing 1 replies (of 1 total)
  • wpismypuppet

    (@wordpressismypuppet)

    As long as the database is on the same server as the WordPress install, and you have a username and password to connect to the database, it shouldn’t be a problem. Because you have this as php code, you should probably put it in a page template.

    The only thing you’d have to change is:

    mysql_connect("localhost", "root", "") or die(mysql_error());

    To reflect the location and user/pass of the non-local version when you get there.

Viewing 1 replies (of 1 total)

The topic ‘PHP code that creates a search form for a database’ is closed to new replies.