webForumDet fria alternativet

Sökfunktion med php och mysql

6 svar · 254 visningar · startad av UrMe

UrMeMedlem sedan apr. 2001762 inlägg
#1

Jag har en html sida som innehåller följande:

<FORM ACTION="databas4.php" METHOD=GET>
First Name: <INPUT TYPE=TEXT NAME="name">
<INPUT TYPE=SUBMIT VALUE="SEARCH"></FORM>

sedan har jag en php fil som heter databas.php4 denna innehåller:

$result = mysql_query(
"SELECT * FROM TEST WHERE Namn='$name' ");

Men jag kan bara söka på hela namn, om vi säger att det finns en som heter Kalle i databasen så vill jag kunna söka på "kall" och få upp alla namn som innehåller "kall"..
Hur gör jag detta på ett lätt sätt?

SPiNMedlem sedan mars 20007 896 inlägg
#2

Du använder s.k. wildcards, %-tecken, och LIKE istället för =.
SQL-satsen borde då se ut så här:
SELECT * FROM TEST WHERE Namn LIKE = '%$name%'

------------------
SPiN, bjorne.w@telia.com

--- Jag ÄR den enda med en britney-cursor! ---

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Aha, man använder sig av like t.ex.

-- hitta alla vars namn 
-- innehåller kall
SELECT * FROM TEST 
 WHERE Namn like '%kall%' 

-- hitta alla vars namn 
-- börjar på kall
select * from test
 where name like 'kall%'

man använder % för att matcha ett godtyckligt antal tecken och _ för att matcha ett godtyckligt tecken

------------------
essentitia preter non sans multiplicandum

UrMeMedlem sedan apr. 2001762 inlägg
#4

Tackar!!

UrMeMedlem sedan apr. 2001762 inlägg
#5

En liten fråga till... om man vill ha fram alla namn när man söker .. går det?

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Alla? Det enklaste är väl att utelämna villkoret överhuvudtaget.

  select * from test
-- eller om man prompt 
-- vill ha ett villkor
  select * from test where namn like '%'

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 05 apr 2001]

ChavezMedlem sedan maj 20001 953 inlägg
#7

Hett tips om man vill kolla hur en bra sökfunktion ser ut:
Ladda ner Phorum och kolla in den koden. Ganska komplex och fixar det mesta!

------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020

141 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)