Ik kom er helemaal niet meer uit. Ik hoop dat jullie mij kunnen helpen. De situatie is als volgt.
Ik heb een script waarmee ik plaatjes kan uploaden naar de server. Als ik een plaatje upload, wordt deze automatisch hernoemd (naar een random getal) en wordt er een thumbnail gemaakt. Bij het uploaden heb ik de mogelijkheid om een kleine beschrijving met het plaatje mee te sturen. Deze informatie wordt in de database opgeslagen in de kolom 'alt'. Het 'iid' is het image ID en correspondeert met de random naam van het plaatje.
Voor het admin gedeelte wil ik een overzichtspagina van alle plaatjes maken. Onder elk plaatje moet uiteindelijk de naam van het plaatje (het random getal, in de database 'iid') en deze alt-informatie komen te staan. Het script hieronder moet uiteindelijk dit overzicht weergeven, maar ik kom er niet helemaal (helemaal niet?) uit:
Dit levert het volgende op:

Met dit beeld zijn twee dingen mis:
• als er geen 4 (maar minder) plaatjes in een rij staan (zoals in rij 3), dan krijg ik er geen twee tabel cellen onder om het iid in te zetten, zoals wel bij de overige rijen het geval is
• het iid is verkeerd! 1091813981 is het iid van het vierde plaatje dat deze query retourneert, en 1091812399 is het iid van het achtste plaatje.
Het probleem is dat ik twee rijen onder elkaar moet aanmaken, en hetzelfde element uit de recordset moet kunnen aanspreken. Maar omdat ik een loop in een loop heb, lukt dit maar niet.
Volgens mij heb ik een verkeerd denkpatroon. Wie helpt mij daaruit te ontsnappen
?
Ik heb een script waarmee ik plaatjes kan uploaden naar de server. Als ik een plaatje upload, wordt deze automatisch hernoemd (naar een random getal) en wordt er een thumbnail gemaakt. Bij het uploaden heb ik de mogelijkheid om een kleine beschrijving met het plaatje mee te sturen. Deze informatie wordt in de database opgeslagen in de kolom 'alt'. Het 'iid' is het image ID en correspondeert met de random naam van het plaatje.
Voor het admin gedeelte wil ik een overzichtspagina van alle plaatjes maken. Onder elk plaatje moet uiteindelijk de naam van het plaatje (het random getal, in de database 'iid') en deze alt-informatie komen te staan. Het script hieronder moet uiteindelijk dit overzicht weergeven, maar ik kom er niet helemaal (helemaal niet?) uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| $result = db_query("SELECT iid, alt, dt FROM images ORDER BY dt ASC"); $num_images = db_num_rows($result); // aantal plaatjes dat in de database staat $img_per_row = 4; // aantal plaatjes per rij $num_rows = $num_images / 4; // aantal rijen (niet afgerond) $ceil_rows = ceil($num_rows); // aantal rijen naar boven afronden (2.25 wordt 3) $i = 0; $body.= '<table border="1" width="100%"><tr>'; while ($image = db_fetch_array($result)) { $i++; $body.= '<td width="25%">[img]"uploads/images/thumbs/'.$image['iid'].'.jpg"></td[/img]'; if ($i % $img_per_row == 0) { $body.= '</tr><tr>'; for ($a = 0; $a < $img_per_row; $a++) { $body.= '<td>'.$image['iid'].'</td>'; } $body.= '</tr><tr>'; } } $body.= '</tr></table>'; |
Dit levert het volgende op:

Met dit beeld zijn twee dingen mis:
• als er geen 4 (maar minder) plaatjes in een rij staan (zoals in rij 3), dan krijg ik er geen twee tabel cellen onder om het iid in te zetten, zoals wel bij de overige rijen het geval is
• het iid is verkeerd! 1091813981 is het iid van het vierde plaatje dat deze query retourneert, en 1091812399 is het iid van het achtste plaatje.
Het probleem is dat ik twee rijen onder elkaar moet aanmaken, en hetzelfde element uit de recordset moet kunnen aanspreken. Maar omdat ik een loop in een loop heb, lukt dit maar niet.
Volgens mij heb ik een verkeerd denkpatroon. Wie helpt mij daaruit te ontsnappen
"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."