array gebruiken in mysql select
Maurice van Ulden
04/09/2006 13:43:00Beste lezer,
Graag zou ik een eerder gedefinineerde verzameling waarden gebruiken in een mysql select query.
Deze notatie blijkt niet te werken:
$getallen = array(30,40,50,60);
$selectie = "SELECT * FROM tabel WHERE getal = $getallen";
Ik wil dus alle records waar getal 30,40,50 of 60 en voor arrays van wisselende omvang een eenvoudige notatie...
Wie weet hoe het wel moet?
Groeten en dank,
Maurice.
Graag zou ik een eerder gedefinineerde verzameling waarden gebruiken in een mysql select query.
Deze notatie blijkt niet te werken:
$getallen = array(30,40,50,60);
$selectie = "SELECT * FROM tabel WHERE getal = $getallen";
Ik wil dus alle records waar getal 30,40,50 of 60 en voor arrays van wisselende omvang een eenvoudige notatie...
Wie weet hoe het wel moet?
Groeten en dank,
Maurice.
PHP hulp
12/01/2025 13:44:47- -
04/09/2006 13:50:00Klaasjan Boven
04/09/2006 14:26:00$selectie = "SELECT * FROM tabel WHERE getal IN(30,40,50,60)
Moet ook prima kunnen
OF
$selectie = "SELECT * FROM tabel WHERE getal LIKE %0
Moet ook prima kunnen
OF
$selectie = "SELECT * FROM tabel WHERE getal LIKE %0
Maurice van Ulden
04/09/2006 14:26:00Dank voor uw reactie, maar de getallen in $getallen dienen slechts even als voorbeeld:
Ik wil een eerder gegenereerde reeks getallen, de array $getallen, deze lijst is steeds verschillend en bevat soms tientallen verschillende getallen, op een makkelijke manier in een select plaatsen. Ik had gehoopt dat
$selectie = "SELECT * FROM tabel WHERE getal = $getallen";
zou werken maar dat is niet zo... ik ben op zoek naar een notatiewijze die werkt voor een array die steeds weer anders is.
Ik wil een eerder gegenereerde reeks getallen, de array $getallen, deze lijst is steeds verschillend en bevat soms tientallen verschillende getallen, op een makkelijke manier in een select plaatsen. Ik had gehoopt dat
$selectie = "SELECT * FROM tabel WHERE getal = $getallen";
zou werken maar dat is niet zo... ik ben op zoek naar een notatiewijze die werkt voor een array die steeds weer anders is.
Robert Deiman
04/09/2006 14:38:00- SanThe -
04/09/2006 14:50:00@Robert: Ik denk eigenlijk niet dat jouw oplossing werkt. Je kan het wel zo doen:
$selectie = "SELECT * FROM tabel WHERE getal IN(" . implode(",", $array) . ")";
$selectie = "SELECT * FROM tabel WHERE getal IN(" . implode(",", $array) . ")";
Maurice van Ulden
04/09/2006 14:58:00Allen geweldig bedankt voor het meedenken!
De oplossing van SanThe werkt helemaal goed!
Groeten van Maurice.
De oplossing van SanThe werkt helemaal goed!
Groeten van Maurice.
Robert Deiman
04/09/2006 15:25:00Je hebt helemaal gelijk SanThe... bij mij zou er staan:
SELECT * FROM tabel WHERE getal IN(array);
Jouw oplossing is helemaal top ;)
SELECT * FROM tabel WHERE getal IN(array);
Jouw oplossing is helemaal top ;)