Sökfunktion [MySQL, PHP]
Skulle behöva lite hjälp med en sökfunktion i PHP/MySQL.
Det man ska kunna söka på är följande:
id
artist
album
tracklist
review
grade
writer
date
Alla dessa är fält i en databas vid namn "sm_light_reviews".
Just för tillfället ser min kod ut så här, men problemet är att den inte funkar (inte så värst förvånande, då jag aldrig skrivit en sökfunktion förut):
<?PHP
include("modules/conn.php");
$conn = mysql_connect($mysql_hostname, $mysql_username, $mysql_password);
$res = mysql_select_db($mysql_database);
if (! $res) {
exit("Kunde ej välja databas");
}
if(isset($_GET['query'])){
mysql_query("SELECT *
FROM `sm_light_reviews`
WHERE `id` LIKE ". $_POST['id'] ."
AND `artist` LIKE CONVERT( _utf8 '". $_POST['artist'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `album` LIKE CONVERT( _utf8 '". $_POST['album'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `tracklist` LIKE CONVERT( _utf8 '". $_POST['tracklist'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `review` LIKE CONVERT( _utf8 '". $_POST['review'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `grade` LIKE CONVERT( _utf8 '". $_POST['grade'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `writer` LIKE CONVERT( _utf8 '". $_POST['writer'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
AND `date` LIKE CONVERT( _utf8 '". $_POST['date'] ."'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 30");
}
?>
<form action="modules/search.php?query" method="post">
<input type="text" id="id" value="ID" />
<input type="text" id="artist" value="Artist" />
<input type="text" id="album" value="Album" />
<input type="text" id="tracklist" value="Låt" />
<textarea id="review">Innehållssök</textarea>
<input type="text" id="grade" value="Betyg" />
<input type="text" id="writer" value="Skribent" />
<input type="text" id="date" value="Datum" />
<input type="submit" value="Sök!" />
</form>
Fick lite gratishjälp av phpMyAdmin, det är därför det nog finns en del onödiga saker, som typ kollationering och CONVERT.
Nu behöver jag alltså hjälp med hur jag ska lägga upp detta så att det funkar. Någon som har nåt tips?
What is your spaghetti policy around here?