Det är ju en del att labba med om du ska få ordning på det hela, speciellt om du är ny på både mysql och php.
Läs om hur man jobbar med HTML-formulär och PHP. Du behöver ju hämta den informationen för att kunna bygga en SQL-sträng för att hämta informationen. T.ex.
// Hämta värden
$Query = $_GET['query'];
$Ort = $_GET['ort'];
Det finns ju info om detta om du googlar lite, t.ex. Formulär mde PHP - Nezzo, Ullvi, EIB, Formulär i PHP
Kika hur man ansluter till databasen, och bygg ihop SQL-satsen utifrån den data du hämtat från formuläret.
Anslut: www.php.net/mysql_connect
Välj db: www.php.net/mysql_select_db
Ställ fråga: www.php.net/mysql_query
Hämta resultat: www.php.net/mysql_fetch_array
Frigör resultat: www.php.net/mysql_free_result
Stäng anslutningen: www.php.net/mysql_close
Här är ett psuedoexempel på hur det kan komma att se ut - det här är ingen kod som kommer att fungera direkt, men det kanske kan ge ett hum om hur det kan fungera.
Se till att testa SQL-frågan i en MySQL-klient innan du börjar bygga upp den via PHP också.
// Initiera variabler för SQL-frågan
$SQL = "SELECT * FROM `tabellen` ";
$SQLWhereClause = "";
if( $Query) {
// Om "fritext fältet", query, är inmatat så matchar vi det med de kolumner som ska kollas
$SQLWhereClause.= "(";
$SQLWhereClause.= "kolumn1 LIKE '%" . mysql_escape_string($Query) . "%'";
$SQLWhereClause.= "OR kolumn2 LIKE '%" . mysql_escape_string($Query) . "%'";
$SQLWhereClause.= "OR kolumn3 LIKE '%" . mysql_escape_string($Query) . "%'";
// osv...
$SQLWhereClause.= ")";
}
// Lägg till kontrollen av ort om den är angiven. Då matchas alla poster som innehåller texten i fritextfältet enligt ovan med denna ort.
if( $Ort )
{
if( $SQLWhereClause!='')
$SQLWhereClause.=' AND ';
$SQLWhereClause.='`ort`='%" . mysql_escape_string($Ort) . "'%';
}
// Anslut till servern, välj databas, ställ frågan och lista resultatet. Här endast orterna.
$conn = mysql_connect($server,$user,$pass);
mysql_select_db("databasnamn", $conn);
$rs = mysql_query($SQL . $SQLWhereClause, $conn);
while( $row = mysql_fetch_array($rs) )
{
echo $row['ort'] . "<br />";
}
mysql_free_result($rs);
mysql_close($conn);
Hoppas det hjälper lite.
/d