Sökning i mySQL med PHP

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1

God Jul på er!

Såhär i julhelgen sitter jag och snickrar på webbsite till min far.
Jag vill kunna söka i en mySQL db mha ett formluär och PHP, inte så svårt... nä... Men, jag lyckas bara skriva så att jag kan söka på hela ord, inte delar (t.ex sökning på efternamn som är Jonsson hittar min familj men Jons eller Jons* hittar inget).

Hur gör jag?

Mitt sökformulär låter användaren fylla i valfritt antal fält (Förnamn, Efternamn osv osv).
Kollar detta mot DB

Citat:

code:<pre style="font-size:x-small; font-family: monospace;"><?php $result = mysql_query("SELECT * FROM Personer where FNamn = ´$FNamn´ or ENamn = ´$ENamn´");
while ( $row = mysql_fetch_array($result) ) { ?></pre>

Dvs letar jag efter formulärets $FNamn i databasens FNamn osv.
Hur gör man för att inte söka efter exakta träffar (=), utan början av databasfältets innehåll (Jons skulle ge träff på alla Jonsson t.ex). Att byta ut "=" med "starts with" funkar inte.

tia
/Mattias

Använd

WHERE kolumn LIKE ´$searchitem%´

Finns gott om info i MySQL manualen också.

Eller mer bestämt här .

Ciryon

Edit: Såg inte först att du bara ville söka efter namn*

Edit2: La till andra länken.

[ 25 December 2002, 18:32: Meddelandet ändrat av: Ciryon ]

Eller gör så här för att hitta allt som matchar det som är inuti strängen t.ex.

WHERE kolumn LIKE ´%$searchitem%´

Som ciryon sa. RTFM.

  • Oregistrerad
  • 2002-12-27 10:38

Vill bara höja ett varningens finger för att det där är en riktigt långsam query om du har många rader i en databas.

//Patrick

1
Bevaka tråden