Avatar billede amtoft Novice
14. juli 2008 - 13:59 Der er 7 kommentarer og
1 løsning

Checkbox - bruge afkrydsede felter i WHERE

Hej

Håber I kan hjælpe mig her.

Har et felt i en MySql database der hedder "status".

På en <form> vil jeg gerne kunne afkrydse hvilke status'er jeg ønsker listet.

Det vil sige jeg laver formen med 1-5 (status er blot en talværdi).

Men hvordan får jeg disse afkrydsede værdier til at indgå i min søgestreng.

WHERE status = XXXX

hvor XXXX jo kan være alle kombinationer af 1 - 5.
Flere skal kunne vises samtidig.

Håber I forstår, og kan guide mig lidt videre her.

På forhånd tak.

mvh Brian
Avatar billede jakobdo Ekspert
14. juli 2008 - 15:27 #1
Lav dine checkboxe som:

1 : <input type="checkbox" name="status[]" value="1"><br />
2 : <input type="checkbox" name="status[]" value="2"><br />
3 : <input type="checkbox" name="status[]" value="3"><br />

og i din sql:

SELECT * FROM tabel WHERE status IN ('.implode("','",$_POST['status']).')
Avatar billede amtoft Novice
14. juli 2008 - 17:02 #2
Tak.

Kan du evt. hjælpe mig med at rette sql søgningen til?
Får ikke resultatet:


$result=mysql("$DBName","SELECT bb.BuyerID,bb.OrderNumber,bb.PayMethod,bb.CCType,bb.Contact,bb.Name,bb.passw,bb.firma,bb.status,bb.zip, oo.Startdato, oo.Slutdato, oo.startingdate
                        FROM Buyers AS bb, orders AS oo WHERE bb.Date LIKE '%$Year%-%$Month%-%$Day%' AND oo.OrderNumber = bb.OrderNumber and
                        bb.status IN ('.implode("','",$_POST['status']).') ORDER BY bb.status, oo.startingdate, bb.OrderNumber");

mvh Brian
Avatar billede jakobdo Ekspert
14. juli 2008 - 17:18 #3
Prøv evt. at start med at udskriv:

echo implode("','",$_POST['status']);
Og se om den giver hvad jeg forventer! :o)
Avatar billede amtoft Novice
14. juli 2008 - 17:21 #4
Det giver

2','3','4

hvilket passer til de valgte.
Avatar billede jakobdo Ekspert
14. juli 2008 - 17:34 #5
Prøv at udskriv hele din sql og test den i phpmyadmin
Avatar billede amtoft Novice
14. juli 2008 - 19:49 #6
Hey

Fik det til at virke.
Mange tak.
Det er integer-felter så de omsluttende ' ' skal ikke være der.

Point?
Smid et svar.

mvh Brian
Avatar billede jakobdo Ekspert
14. juli 2008 - 20:16 #7
Svar
Avatar billede jakobdo Ekspert
14. juli 2008 - 20:48 #8
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester