Beste,
ik ben bezig met een klein, en wat eigenlijk erg simpel zou moeten zijn, stukje van mijn script. Ik haal uit de database de ID's van paginas met een bepaalde voorwaarde en stop deze in een array die ik $pages noem.
Als ik de array print krijgt ik:
Array ( [0] => 9 [1] => 10 [2] => 11 )
Als ik vervolgesn de array uitlees om hem verder te gebruiken in een query:
dan wordt er van het id maar enkel het eerste teken genomen.. ofja eerste.. één teken maar:PHP Code:
$x = 0;
foreach($pages as $value) {
if($x == 0) {
$sql = "SELECT * FROM tblcontent WHERE page_id = '".$value[$x]."'";
$x++;
} else {
$sql .= " OR page_id = '".$value[$x]."'";
}
}
SELECT * FROM tblcontent WHERE page_id = '9' OR page_id = '0' OR page_id = '1' ORDER BY id DESC
Iemand enig idee hoe dit komt, het is waarschijnlijk wat simpels wat ik gewoon over het hoofd zie..
Alvast bedankt!
- Array uitlezen geeft alleen eerste teken...
-
19-07-2007, 15:42 #1
- Berichten
- 1.901
- Lid sinds
- 18 Jaar
Array uitlezen geeft alleen eerste teken...
-
19-07-2007, 15:51 #2Particulier
- Berichten
- 137
- Lid sinds
- 17 Jaar
moet je kijken bij implode
dan moet je sql query zijn
SELECT * FROM tblcontent WHERE page_id IN(0,1,9)
den IN veranderd die ellenlange wheres in een kleinere qeury
-
19-07-2007, 15:52 #3
- Berichten
- 1.901
- Lid sinds
- 18 Jaar
dat is het probleem niet, het probleem is dat hij zegt dat hij moet zoeken tussen id:
9
0
1
terwijl in de array de ids
9
10
11
staan.
-
19-07-2007, 16:35 #4
- Berichten
- 32
- Lid sinds
- 18 Jaar
Als $pages de array is die je plaatst, dan geeft een foreach($pages as $value) de waardes van de array steeds aan $value.
Het script wordt dan zo:
PHP Code:$x = 0;
foreach($pages as $value) {
if($x == 0) {
$sql = "SELECT * FROM tblcontent WHERE page_id = '".$value."'";
$x++;
} else {
$sql .= " OR page_id = '".$value."'";
}
}
-
20-07-2007, 12:30 #5
- Berichten
- 1.901
- Lid sinds
- 18 Jaar
Ah ok, hartelijk dank :)
Komt dit dan omdat er maar één waarde per 'key' staat? Want zodra je zeg maar een id en naam in de array plaatst zou je met $value[0] het id krijgen en met $value[1] de naam..
-
20-07-2007, 13:49 #6
- Berichten
- 891
- Lid sinds
- 18 Jaar
Inderdaad :).
-
20-07-2007, 13:54 #7
- Berichten
- 1.901
- Lid sinds
- 18 Jaar
Dat wist ik niet;-) Hartelijk dank beide
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic