27. januar 2009 - 12:35Der er
12 kommentarer og 1 løsning
While loop inde i en foreach
Jeg har nedenstående kode. while-loopen inde i foreach bliver kun kørt en enkelt gang. Hvad jeg gøre for at for afviklet en lignende loop inde i den foreach?
$arrDatasets er et array der indholder felt/kolonne navn fra tabellen, jeg har brug for at for hver nøgle i array'et, skal rækkerne under den tilhørende kolonne skrives.
Jeg skal bare have while-lykken til at køre hver gang foreach-lykken kører. Og så vidt jeg har forstået er det fordi den ikke kan genbruge $row = $read->fetch_row()
Udsagnet er sandt så længe værdien af $row ikke bliver: false, tom streng, 0, NULL og lign. Ergo, din while løkke repeteres inde i hver foreach-løkke, hvis $row får en sand værdi vel at mærke.
Men hvor er det du vil "genbruge" data henne ? Er det ind i udtrækket fra while($row = $read->fetch_row()){ eller er det rent faktisk inde i foreach($arrDatasets AS $reklGroup){
$read->fetch_row() fjerner et element fra $read, så når du kører while-løkken tømmer du $read. Dvs. at næste gang while løkken skal køres, så er $read jo stadig tom. Så du skal nok gøre: (alt efter hvordan din $read klasse fungerer)
Jeg fandt ikke en decideret løsning, andet end jeg skulle lade være med at gøre dem mere kompliceret en nødvendigt. Derfor blev der lavet et par ekstra arrays der kunne skrives uden for meget hokus pokus.
Synes godt om
Ny brugerNybegynder
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.