login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Tijdtabel [wiskundig] (Opgelost)

Offline jc2 - 20/08/2008 20:06 (laatste wijziging 20/08/2008 20:07)
Avatar van jc2PHP interesse Ik loop tegen een wiskundig probleem aan waarvan ik hoop dat de bèta's onder jullie meteen weten wat eraan te doen.

Ik heb een tijd tabel nodig, die onderverdeeld is in 4 kolommen: ochtend, middag, avond en nacht.
Nu lukt het me om een tabel te creëren en het lukt me ook om hem te vullen, maar hij vult de tabel van links naar rechts i.p.v. van onder naar boven.

Voorbeeld:
Citaat:
6 - 7 - 8 - 9
10 - 11 - 12 - 13
enz.


Terwijl mijn tabel zo moet zijn:
Citaat:
6 - 10 - 14 - 18
7 - .. - .. - ..
8 - .. - .. - ..
9 - .. - .. - ..


Ik gebruik dit als basiscode:
  1. $teller="6"; print '<tr><td><strong>Afsprakenlijst</strong></td></tr>';
  2. print '<tr><td><b>ochtend</b></td><td><b>middag</b></td><td><b>avond</b></td><td><b>nacht</b></td></tr>';
  3. for ($i = 0; $i <= 12; $i++) {
  4. print '<tr>';
  5. for ($j = 1; $j <= 4; $j++) {
  6. if($j%2=="1"){
  7. print '<td>';
  8. }
  9. else{
  10. print '<td>';
  11. }
  12. if($i%2=="1"){
  13. print $teller;
  14. $teller++;
  15. }
  16. else{
  17. print $teller;
  18. }
  19. print '</td>';
  20. }
  21. print '</tr>';
  22. }


P.S: Ochtend moet van 06:00 t/m 11:30 lopen, de middag van 12:00 t/m 17:30, de avond van 18:00 t/m 23:30 en de nacht van 00:00 (!) t/m 05:30. Dit betekent dus één rij per half uur.

2 antwoorden

Gesponsorde links
Offline peter1984 - 20/08/2008 20:13 (laatste wijziging 20/08/2008 20:16)
Avatar van peter1984 Nieuw lid
  1. $indeling = array(
  2. "ochtend" => array ("6","7","8","9"),
  3. "middag" => array("10","11","12","13"),
  4. "avond" => array("14","15","16","17"),
  5. "nacht" => array("18","19","20","21")
  6. )


via een loopje kun je per kolom een deel van de array opvragen, bv

  1. $indeling['ochtend'][1];
Offline Stijn - 20/08/2008 20:17
Avatar van Stijn PHP expert Je begint met 1 en de volgende rij moet met 5 beginnen. Dus in je eerste for zit een klein foutje. In plaats van met +1 te verhogen moet je met +4 verhogen. Ook kan je code netter.

  1. $teller = 6; //Getallen nooit in quotes!
  2. echo "<table>";
  3. for( $i = 1 ; $i < 12 ; $i += 4 ) {
  4.  
  5. echo "<tr>";
  6.  
  7. for( $j = 0 ; $j < 4 ; $j++ ) {
  8.  
  9. echo "<td>";
  10. echo $teller;
  11. echo "</td>";
  12.  
  13. if( $i%2 == 1 ) $teller++;
  14.  
  15. }
  16.  
  17. echo "</tr>";
  18.  
  19. }
  20. echo "</table>";
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s