05. maj 2008 - 10:55
Der er
10 kommentarer og 1 løsning
Tabel med array
Jeg har en tabel med katagori som kan indeholde "2","11","1" så vil jeg hente alle poster hvor kategori indeholder "1", hvordan gør jeg det.
Annonceindlæg fra FPT Software
omdesigner din database så du har en kategori tabel med 3 kolonner fremfor noget komma separeret
Jeg har desværre ikke mulighed for at lave databasen om.
Så ender du jo nok med en: ... WHERE LOCATE(',"1",', CONCAT(',', felt, ',')) > 0
Jeg kan kun få det til at virke i phpmyadmin LOCATE(',"1",', CONCAT(',',katagori, ',')) > 0 giver følgende fejl Parse error: syntax error, unexpected T_LNUMBER in C:\Programmer\Apache\htdocs\fuf\gmaps.php on line 191
Det er jo en PHP fejl. Jeg gætter på at du ikke har fået escapet enkelt eller dobbelt quotes ordentligt.
Ja, det er feltet kategori der er galt med, hvordan skal det escapes $result_sted = $parser->D->dbQuery("select modestedid from " . $parser->D->table . " where LOCATE(',"1",', CONCAT(',',katagori, ',')) > 0 ");
Prøv: $result_sted = $parser->D->dbQuery("select modestedid from " . $parser->D->table . " where LOCATE(',\"1\",', CONCAT(',',katagori, ',')) > 0 ");
Nu virker det. Læg et svar. Hvis jeg vil hente både kategori "1" og "2" skal jeg tilføje det eller skal jeg lave det samme en gang mere.
du kan lave en OR mellem 2 test en for den ene og en for den anden
Det var også det jeg mente. Mange tak for hjælpen.
Computerworld tilbyder specialiserede kurser i database-management