Ik heb een tabel 'nodes' (met daarin de structuur voor een navigatie menu). Aan het begin van mijn applicatie lees ik deze tabel in zijn geheel uit. Het resultaat zet ik in een array:
In werkelijkheid heeft de tabel meer dan 4 kolommen, maar dat doet er niet toe. Het gaat om het principe. Het lijkt me dat ik die array veel makkelijker, met een loop ofzo, kan vullen, in plaats van voor elk array element een 'pid' => $node['pid']-achtig deel aan deze code toe te voegen:
Dat werkt natuurlijk niet, maar geeft wel aan wat ik bedoel. Kan iemand mij op weg helpen met een loop die door de $node array die terugkomt van de MySQL database loopt, en de array automatisch opbouwt? Of is daar misschien een aparte PHP functie voor die ik niet ken?
PHP:
1
2
3
4
5
6
7
8
9
10
11
| $result = db_query("SELECT * FROM nodes ORDER BY pid, weight ASC"); while ($node = db_fetch_array($result)) { $_nodes[$node['nid']] = Array('pid' => $node['pid'], 'title' => $node['title'], 'path' => $node['path'], 'level' => $node['level'] // etc... ); } |
In werkelijkheid heeft de tabel meer dan 4 kolommen, maar dat doet er niet toe. Het gaat om het principe. Het lijkt me dat ik die array veel makkelijker, met een loop ofzo, kan vullen, in plaats van voor elk array element een 'pid' => $node['pid']-achtig deel aan deze code toe te voegen:
PHP:
1
2
3
4
5
6
7
8
9
| while ($node = db_fetch_array($result)) { $output = Array(; foreach ($node as $key => $value) $output.= $key => $node[$value].',' $output.= ); } |
Dat werkt natuurlijk niet, maar geeft wel aan wat ik bedoel. Kan iemand mij op weg helpen met een loop die door de $node array die terugkomt van de MySQL database loopt, en de array automatisch opbouwt? Of is daar misschien een aparte PHP functie voor die ik niet ken?
[ Voor 20% gewijzigd door Reveller op 01-03-2005 22:51 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."