0

I have created this script using a HTML form and a PHP script which allows the user to search through my database for an event using the Venue and category fields which are scripted as dropdown boxes and the Price and finally by event title, as shown via the code if a keyword is entered which matches the fields on the database it should output all the related information for that event if any matches have been made on either search fields, but I can't seem to figure how to code in a script so the user may check the labeled boxes next to the search options so the script will only search the parameters which the users have checked via the checkboxes, if the user has unchecked that corresponding box.

CODE FOR THE HTML FORM 

<form name="searchform" action ="PHP/searchfunction.php" method = "post" >
<h2>Event Search:</h2>
Use the Check Boxes to indicate which fields you watch to search with
<br /><br />
<h2>Search by Venue:</h2>

    <?php
    echo "<select name = 'venueName'>";
    $queryresult2 = mysql_query($sql2) or die (mysql_error());
while   ($row = mysql_fetch_assoc($queryresult2))  {
    echo "\n";
    $venueID = $row['venueID'];
    $venueName = $row['venueName'];
    echo "<option value = '$venueID'";
    echo ">$venueName</option>";
}# when the option selected matches the queryresult it will echo this

    echo "</select>";
    mysql_free_result($queryresult2);
    mysql_close($conn);
    ?>
    <input type="checkbox" name="S_venueName">
<br /><br />
<h2>Search by Category:</h2>
    <?php
    include 'PHP/database_conn.php';

    $sql3 ="SELECT catID, catDesc
    FROM te_category";

    echo "<select name = 'catdesc'>";
    $queryresult3 = mysql_query($sql3) or die (mysql_error());
while   ($row = mysql_fetch_assoc($queryresult3))  {
    echo "\n";
    $catID = $row['catID'];
    $catDesc = $row['catDesc'];
    echo "<option value = '$catID'";
    echo ">$catDesc </option>";
}

    echo "</select>";
    mysql_free_result($queryresult3);
    mysql_close($conn);
    ?>
    <input type="checkbox" name="S_catDes">
<br /><br />

<h2>Search By Price</h2>
<input type="text" name="S_price" />
<input type="checkbox" name="S_CheckPrice">
<br /><br />

<h2>Search By Event title</h2>
<input type="text" name="S_EventT" />
<input type="checkbox" name="S_EventTitle">
<br /><br />
<input name="update" type="submit" id="update" value="Search">

</form>

Code which deals with the form proccessing

<?php
include 'database_conn.php';


$venuename = $_POST['venueName']; //this is an integer
$catdesc = $_POST['catdesc']; //this is a string
$Price = $_POST['S_price'];
$EventT = $_POST['S_EventT'];

$sql = "SELECT * FROM te_events WHERE (venueID LIKE '%$venuename%' OR catID LIKE '%$catdesc%' OR eventPrice LIKE '%$Price%' OR eventTitle LIKE '%$EventT%')";

$queryresult = mysql_query($sql) or die (mysql_error());
while ($row = mysql_fetch_assoc($queryresult))
    {

        echo "Event Title: "; echo $row['eventTitle'];
        echo "<br />";
        echo "Event Description: "; echo $row['eventDescription'];
        echo "<br />";
        echo "Event Venue "; echo $row['venueID'];
        echo "<br />";
        echo "Event Category "; echo $row['catID'];
        echo "<br />";
        echo "Event Start Date "; echo $row['eventStartDate'];
        echo "<br />";
        echo "Event End Date "; echo $row['eventEndDate'];
        echo "<br />";
        echo "Event Price "; echo $row['eventPrice'];
        echo "<br /><br />";
    }

mysql_free_result($queryresult);
mysql_close($conn);

?>

DATABASE: http://i.imgur.com/d4uoXtE.jpg

1
Contributor
1
Reply
11
Views
3 Years
Discussion Span
Last Post by darkeve
0

figured it out by using this code, hope it helps anyone else

if (isset($_POST['S_VenueName'])) {

    $sql = "SELECT * FROM te_events WHERE (VenueID LIKE '%$venuename%')";

}


if (isset($_POST['S_catDes'])) {

    $sql = "SELECT * FROM te_events WHERE (catID LIKE '%$catdesc%')";

}

if (isset($_POST['S_CheckPrice'])) {

    $sql = "SELECT * FROM te_events WHERE (eventPrice LIKE '%$Price%')";

}

if (isset($_POST['S_EventTitle'])) {

    $sql = "SELECT * FROM te_events WHERE (eventTitle LIKE '%$EventT%')";

}
This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.