foreach lus in whilelus
Is het niet mogelijk om een foreach-lus in een while-lus te gebruiken... Ik wil namelijk het volgende bereiken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
while($posts = mysql_fetch_assoc($postsquery)){
foreach($poststatus as $key=>$value){
if($key == $post['status']){
$status = $value;
}
}
}
?>
while($posts = mysql_fetch_assoc($postsquery)){
foreach($poststatus as $key=>$value){
if($key == $post['status']){
$status = $value;
}
}
}
?>
Maar kan dit niet? Want ik krijg telkens deze foutmelding:
Warning: Invalid argument supplied for foreach() in bestand on line 70
$poststatus is geen array.
In het script is $poststatus nog niet gemaakt... en kan dus ook niet afgelopen worden.
Maar het moet werken, als $poststatus een array is.
poststatus is wel een array... staat in een include bestandje
Jezpur schreef op 19.02.2009 17:08:
Nee want $post['status'] is een ID en in het include bestand staat een array met ID => naam
En ik wil dus de naam krijgen...
Edit: Op je tweede post: Wat denk je dat dat stukje code geeft?
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
Jezpur schreef op 19.02.2009 17:11:
Wat krijg je als je dit uitvoert (op een plek waar je dat bestandje include):
Edit: Op je tweede post: Wat denk je dat dat stukje code geeft?
Edit: Op je tweede post: Wat denk je dat dat stukje code geeft?
Dan krijg ik dit:
array(4) { [1]=> string(12) "aankondiging" [2]=> string(8) "uploaden" [3]=> string(4) "done" [4]=> string(4) "spot" }
En op je 2e vraag: wat bedoel je?:P
NULL
Dan zit $posts['status'] dus niet in $poststatus en kun je nooit een $key gelijk hebben aan $posts['status']. Dus zal $status nooit iets bevatten.
Warning: Invalid argument supplied for foreach() in bestand on line 70
Nee, die error gaat erover dan $poststatus geen array is. Waar we het net over hadden gaat erom dat je die foreach ook korter kan opschrijven. Heb je geen foreach voor nodig.
Ziet er zo uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
/*
Lijst met de poststatus. Als waarde wordt de naam van de afbeeldingen gezet
*/
$poststatus = array(
1 => "aankondiging",
2 => "uploaden",
3 => "done",
4 => "spot");
?>
/*
Lijst met de poststatus. Als waarde wordt de naam van de afbeeldingen gezet
*/
$poststatus = array(
1 => "aankondiging",
2 => "uploaden",
3 => "done",
4 => "spot");
?>
Jep