Kalender in PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kalender in PHP

    Hallo,

    ich will einen Trainingskalender in PHP erstellen, doch leider klappt es nicht sorecht.
    Hier das Layout:
    Code:
    <table border="0" cellpadding="0" align="center" cellspacing="0" width="100%">
    
      <tr>
    	<td  width="150">Tag</td>
    	<td  align="center" width="100">Beginn</td>
    	<td  align="center" width="70">Ende</td>
    	<td  width="598">Veranstaltung</td>
      </tr>
    
      <tr>
    
    	<td bgcolor="#f8f8f8" valign="top"><b>Montag</b></td>
    
    	<td  align="center" bgcolor="#f8f8f8" valign="top">08:00</td>
    
    	<td  align="center" bgcolor="#f8f8f8" valign="top">09:00</td>
    
    	<td  bgcolor="#f8f8f8" valign="top">Training 1</td>
    
      </tr>
    
      <tr>
    
    	<td  bgcolor="#f1f1f1" valign="top"><b></b></td>
    
    	<td  align="center" bgcolor="#f1f1f1" valign="top">09:30</td>
    
    	<td  align="center" bgcolor="#f1f1f1" valign="top">11:30</td>
    
    	<td  bgcolor="#f1f1f1" valign="top">Training 2</td>
    
      </tr>
    </table>
    Das Problem ist, dass wenn ich zb. 3 Eintraege in ner DB-Tabelle habe, nur im 1. Eintrag der Wochentag, also in dem Falle 'Montag' stehen soll. Ich weiss, dass die Ausgabe ueber ein mysql_query, einer while-Schleife und mysql_fetch_array laeuft, aber es soll eben nur bei ersten Eintrag der Wochentag stehen.
    Desweiteren soll sich ja die Hintergrundfarbe von Zeile zu Zeile von #f8f8f8 auf #f1f1f1 aendern, also sich immer wechseln.

    Ich wuerde mich sehr auf eure Denkanstoesse freuen

    Danke,
    nuox
    Zuletzt geändert von nuox; 21.08.2007, 14:10.

  • #2
    Zeig lieber deinen Code. Was er ausgibt, können wir uns dann allein zusammenreimen.

    Kommentar


    • #3
      Mach doch einfach ein $i++; in der Schleife und dann eine Abfrage mit if ($i == 0) dann farbe 1 setzen ansonsten farbe 2 ...

      Kommentar


      • #4
        @WiZARD: Damit hat die erste Zeile Farbe 1, alles andere Farbe 2. Ziel verfehlt.

        Kommentar


        • #5
          Original geschrieben von WiZARD
          Mach doch einfach ein $i++; in der Schleife und dann eine Abfrage mit if ($i == 0) dann farbe 1 setzen ansonsten farbe 2 ...
          wenn dann
          PHP-Code:
          if(($i%2) == 0) {..} 
          else { } 

          Kommentar


          • #6
            Achso meinst du!

            Dann speicher allerdings nicht "MONTAG" in der Datenbank, sondern 1!
            Und Dienstag 2 etc...

            In deiner Schleife gehst du wie folgt vor:

            PHP-Code:
            $days = array(NULL,"Montag""Dienstag""Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");

            $oldday 0;
            while(
            $entry mysql_fetch_array($result))
            {
              
            $day '';
              if(
            $oldday != $entry['newday'])
              {
                
            $oldday $entry['newday'];
                
            $day $days[$oldday]; // nur bei Ungleichheit steht in $day was!!!
              
            }
              
            $start $entry['start'];
              
            $end   $entry['end'];
              
            $name  $entry['name'];

            echo 
            "<tr><td bgcolor=\"$color\" valign=\"top\"><b>$day</b></td>",
            "<td align=\"center\" bgcolor=\"$color\" valign=\"top\">$start</td>",
            "<td align=\"center\" bgcolor=\"$color\" valign=\"top\">$end</td>",
            "<td bgcolor=\"$color\" valign=\"top\">$name</td></tr>";


            Find Parties?
            Partysuche

            Kommentar


            • #7
              PHP-Code:
              $days = array(NULL,"Montag",... 
              Ganz ehrlich, was hat das NULL da zu suchen? Entweder steht dort der Sonntag, oder der Montag, aber nicht NULL.

              Kommentar

              Lädt...
              X