Avatar billede ofirpeter Nybegynder
13. juni 2005 - 14:42 Der er 7 kommentarer og
1 løsning

PHP Array og SQL

Hej, jeg prøver at finde ud af hvordan jeg former en lidt speciel SQL streng.

Den ser nu således ud:

$hent_ialt = mysql_query("select id_svarverchar from svarvarchar where svarverchar='$ud_svarmulighed[svarmulighed]' AND ref_spoegsmaal='$ud_spr[id_spoergsmaal]'");           

Men jeg ønsker at lave endnu en where, og den skal hedde noget i retning af: "Og hvor ref_kode er lig med et af tallene i $array"

Den skal altså tjekke om ref_kode i MySQL databasen er lig med et af tallene fra et array.

Håber det er til at forstå.
Hvordan former jeg min SQL streng?

Med venlig hilsen
Peter
Avatar billede Slettet bruger
13. juni 2005 - 15:01 #1
Noget ala:
$query = "SELECT * FROM tabel WHERE felt IN ('" . implode(",", $array) . "')";
Avatar billede ofirpeter Nybegynder
13. juni 2005 - 15:05 #2
(Tror jeg bliver nød til at få en forklaring :)
Hvorfor?
Avatar billede Slettet bruger
13. juni 2005 - 15:10 #3
Altså du kan egentlig oversætte det med:

vælg alle fra tabel hvor felt er i $array.

Så din kode ville være noget ala:

$hent_ialt = mysql_query("select id_svarverchar from svarvarchar where svarverchar='$ud_svarmulighed[svarmulighed]' AND ref_spoegsmaal='$ud_spr[id_spoergsmaal]' AND ref_kode IN IN ('" . implode(",", $array) . "')");
Avatar billede Slettet bruger
13. juni 2005 - 15:11 #4
$hent_ialt = mysql_query("select id_svarverchar from svarvarchar where svarverchar='$ud_svarmulighed[svarmulighed]' AND ref_spoegsmaal='$ud_spr[id_spoergsmaal]' AND ref_kode IN ('" . implode(",", $array) . "')");

Der skulle naturligvis ikke være to IN ;)
Avatar billede ofirpeter Nybegynder
13. juni 2005 - 17:30 #5
Det lyder smart! Men jeg kan simpelthen ikke få det til at virke. Jeg prøver at finde hvor mange poster der opfylder betingelserne, men ligemeget hvilke værdier fra databasen jeg prøver, giver det samme svar, nemlig "1"

Jeg gør følgende:
$hent_ialt = mysql_query("select id_svarverchar from svarvarchar where svarverchar='$ud_svarmulighed[svarmulighed]' AND ref_spoegsmaal='$ud_spr[id_spoergsmaal]' AND ref_kode IN ('" . implode(",", $array_koder) . "')")or die(mysql_error());
Avatar billede ofirpeter Nybegynder
13. juni 2005 - 17:34 #6
Jeg har fundet ud af at den kun undersøger en af koderne i arrayet, og når den finder en der passer, så hopper den ud?
Avatar billede ofirpeter Nybegynder
15. juni 2005 - 17:42 #7
Har stadig ikke fundet ud af hvordan jeg løser problemet? Håber der er flere der vil byde ind?
Avatar billede ofirpeter Nybegynder
25. november 2005 - 12:44 #8
Har stadig ikke fået løst problemet..
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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