SELECT problemer
Hej :)Jeg er ved at lave en hjemmeside, hvor jeg vil samle alle mine madopskrifter. For at søge i databasen har jeg lavet følgende søgeformular:
<html>
<form method="post" action="http://www.xxxxxxxxxxxx.dk/results.php" target="_blank">
<div><p>
<label for="t1">Søgeord:</label><input type="text" name="Navn" id="t1" /><br>
<label for="t1">Kategori:</label><select name="Kategori" id="t1" size="1">
<option>Alle</option>
<option>Brunch</option>
<option>Fond & Saucer</option>
<option>Dessert</option>
</select>
<br>
<label for="t1">Ingredienser:</label><input type="text" name="Ingredienser" id="t1">
<br>
<label for="t1">Land:</label><select name="Land" id="t1" size="1">
<option>Alle</option>
<option>Italien</option>
<option>Frankrig</option>
<option>Tyrkiet</option>
</select>
<br>
<label for="t1">Kuverter:</label><select name="Kuverter" id="t1" size="1">
<option>Alle</option>
<option>1</option>
<option>2</option>
<option>4</option>
</select>
<br>
</div>
Search database: <input type="submit" value="Go!!" name="Go">
</form>
</html>
For at gøre det hele mere overskueligt, har jeg udeladt CSS koderne.
Den fil der henvises til i 1. linie (results.php) ser sådan ud:
<center>
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">
<tr>
<td width="60"><b>id</b></td>
<td width="100"><b>Søgeord</b></td>
<td width="70"><b>kategori</b></td>
<td width="150"><b>ingredienser</b></td>
<td width="70"><b>land</b></td>
<td width="70"><b>kuverter</b></td>
</tr>
<tr>
<td>
<? $hostname = "localhost";
$username = "xxxxxxxxxxxx"; // The username you created for this database.
$password = "xxxxxxxxxxx"; // The password you created for the username.
$usertable = "details"; // The name of the table you made.
$dbName = "xxxxxxxxxxxx"; // This is the name of the database you made.
MYSQL_CONNECT($hostname, $username, $password) OR DIE("DB connection unavailable");
@mysql_select_db( "$dbName") or die( "Unable to select database");
?>
<?
//error message (not found message)begins
$XX = "No Record Found, to search again please close this window";
//query details table begins
$query = mysql_query("SELECT * FROM details WHERE ".$_POST['metode']." LIKE '%".$_POST['search']."%' LIMIT 0, 50");
while ($row = @mysql_fetch_array($query))
{
$variable1=$row["id"];
$variable2=$row["søgeord"];
$variable3=$row["kategori"];
$variable4=$row["ingredienser"];
$variable5=$row["land"];
$variable6=$row["kuverter"];
//table layout for results
print ("<tr>");
print ("<td>$variable1</td>");
print ("<td>$variable2</td>");
print ("<td>$variable3</td>");
print ("<td>$variable4</td>");
print ("<td>$variable5</td>");
print ("<td>$variable6</td>");
print ("</tr>");
}
//below this is the function for no record!!
if (!$variable1)
{
print ("$XX");
}
//end
?>
</table>
</center>
Problemet er, at den linie der starter med "$query = mysql_query" helt sikkert er forkert (jeg går ud fra at problemet kan isoleres til denne ene sætning). jeg kan ganske enkelt ikke finde ud af at skrive denne sætning, således at den medtager feltet "søgeord", den valgte værdi i feltet "kategori", ingrediens osv...
Scriptet skulle også gerne give mulighed for, at man kan undlade at udfylde fx 1 af de ialt 5 felter - fx at man kun søger efter opskrifter udfra feltet "søgeord".
Help plz :)
-Claus
