Forum Moderators: coopster

Message Too Old, No Replies

PHP/MySQL: query based on selected form option

Need some help putting this together

         

cookie2

11:49 pm on Feb 27, 2004 (gmt 0)

10+ Year Member



Using PHP and MySQL. Trying to put a list of categories into a drop down select option of a form like:

<form name="form" action="<? print $_SERVER['PHP_SELF']?>" method="get">

<select name="subject">
<option value=""></option>
<option value="field1">Field 1</option>
<option value="field2">Field 2</option>
</select>

<input type="submit" name="Submit" />
</form>

Then I want to process it so the MySQL query gets done depending on what was selected. I came up with this:

//connect to database
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbase") or die("Unable to select database");

// Build SQL Query
if (isset($_GET['subject']))
{
switch($_GET['subject'])
{
case 'field1':
$query = "select * from tips where category = 'field1'";
break;
case 'field2':
$query = "select * from tips where text like 'field2' ";
break;
default:
echo 'No subject found';
}
}

$results=mysql_query($query);
$numrows=mysql_num_rows($results);

etc etc etc

But that switch doesn't seem to work. Anyone have a suggestion as to how I can code this to do the MySQL query based on the subject?

cookie2

4:40 am on Feb 28, 2004 (gmt 0)

10+ Year Member



I figured it out after some trial and error:

//connect to database
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbase") or die("Unable to select database");

// Build SQL Query
if (isset($_GET['subject']))
{
switch($_GET['subject'])
{
case 'field1':
$query = "select * from tips where category = 'field1'";
break;
case 'field2':
$query = "select * from tips where text like 'field2' ";
break;
default:
echo 'No subject found';
$query = false;
}
}

if ($query){
$results=mysql_query($query);
$numrows=mysql_num_rows($results);
}

jatar_k

4:59 am on Feb 28, 2004 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



good on ya cookie2, glad you figured it. :)