i'm still struggling with php - its soooo confusing to me
this is the code i have now - is it in the wrong order? or whats missing please to make it work - i'm trying to get a result if 'both' genders are selected and if 'any' origin is selected
thanks in advance for any help
<html>
<head>
</head>
<body>
<?php
// MySQL Connection Information
$server = "localhost";
$username = "sharlene";
$password = "";
$dbname = "baby_names";
// MySQL Connect String
$connection = mysql_connect($server,$username,$password) or die("Can't Connect to Mysql Server:
".mysql_error());
// Select the database
mysql_select_db($dbname) or die("Can't connect to database: ".mysql_error());
$gender = mysql_real_escape_string($_POST['gender']);
$meaning = mysql_real_escape_string($_POST['meaning']);
$name = mysql_real_escape_string($_POST['name']);
$origin = mysql_real_escape_string($_POST['origin']);
$sql = "SELECT * FROM names WHERE gender = '" . $gender . "' and name LIKE '" . $name . "%' and
meaning LIKE '%" . $meaning . "%' and origin = '" . $origin . "'";
if ($gender == 'both') { // no specific gender
if ($origin == 'any') { // no specific origin
$sql = 'select * from names';
else { // an origin was specified
$sql = "select * from names where origin = '".$origin."'";
}
else { // a gender was specified
if ($origin == 'any') { // no specific origin
$sql = "select * from names where gender ='".$gender."'";
else { // an origin was also specified
$sql = "select * from names where origin = '".$origin."' and gender ='".$gender."'";
}
//execute SQL query and get result
$sql_result = mysql_query($sql, $connection) or die(mysql_error());
?>
<table border="0" align="center">
<tr>
<th style="background: #ffd" >Name</th>
<th style="background: #efe">Gender</th>
<th style="background: #fef">Origin</th>
<th style="background: #e3e4fa">Meaning</th>
</tr>
<?php
// Loop through the data set and extract each row into it's own variable set
while ($row = mysql_fetch_array($sql_result))
{
//extract($row);
?>
<tr>
<td style="background: #ffd"><?php echo $row['name'];?></td>
<td style="background: #efe"><?php echo $row['gender'];?></td>
<td style="background: #fef"><?php echo $row['origin'];?></td>
<td style="background: #e3e4fa"><?php echo $row['meaning'];?></td>
</tr>
<?php
}
?>
</body>
</html>
my form is:
<!--html page-->
<html>
<head>
<title>Baby Names Database</title>
</head>
<body>
<h1>Baby Names</h1>
<h3>Please fill in the blanks below, and We'll return baby names for you to browse.</h3>
<table border = "1" align = "center">
<form method = "post" action = "babyNames1.php">
<tr bgcolor="#cae1ff">
<td align = "left">
Gender:
</td>
<td>
<input type = "radio" name = "gender" value = "male"/>Boys Names
<input type = "radio" name = "gender" value = "female"/>Girls Names
<input type = "radio" name = "gender" value = ""/>Both
</td>
</tr>
<tr bgcolor="#ffe1ff">
<td align = "left">
Meaning:
</td>
<td>
<input type = "text" name = "meaning" value = ""/>
</td>
</tr>
<tr bgcolor="#ffe1ff">
<td align = "left">
Name Begins With:
</td>
<td>
<input type = "text" name = "name" value = ""/>
</td>
</tr>
<tr bgcolor="#cae1ff">
<td align = "left">
Origin
</td>
<td>
<select name = "origin" id = "origin">
<option value = "any">Any</option>
<option value = "african">African</option>
<option value = "anglo">Anglo</option>
<option value = "arabian">Arabian</option>
<option value = "arabic">Arabic</option>
<option value = "aramaic">Aramaic</option>
<option value = "armenian">Armenian</option>
<option value = "arthurian">Arthurian</option>
<option value = "basque">Basque</option>
<option value = "celtic">Celtic</option>
<option value = "chamoru">Chamoru</option>
</select>
</td>
</tr>
</table><p /><center>
<input type = "submit" value = "Show me Names"/>
</center>
</form>
</body>
</html>