felder mit zeit füllen wie?

D

d_town

Guten tag,

Folgendes Problem:

Ich habe 7 Felder (1Woche Mo-So). In diese Felder sollen die Datums rein von der Woche.
Das heist Heute ist der 24.02.2010. Dieses Datum steht im ersten Feld. Jetzt soll in die anderen 6 Felder die restliche Daten rein.
So sieht das ungefähr aus.

[24.02.10] [25.02.10] [26.02.10] usw.

neben diesen Felder sind immer Checkboxen die das feld aktivieren oder nicht (falls an dem Tag keiner kommt soll diese Information auch nicht in die Datenbank geschriben werden, darum die Checkbox).

Die Felder hinzubekommen und die Checkbox war/ist kein Problem. Aber das die Zeiten automatisch reingeschrieben werden stellt sich als echte Herrausvorderung da.

Kann einer Helfen?



Mit freundlichen Grüßen
 
Einfachste Möglichkeit ist wohl, das Datum in eine Timestamp umzuwandeln, die Sekunden eines Tages dazuzuzählen und dann das Ganze wieder in ein Datum zurückzuverwandeln. Das erspart Dir, die Datumsrechnerei selbst zu implementieren ;)

viele Grüsse

Thomas.
 
@tomkruse
Arbeiten mit Timestamps ist gut. Aber Sukunden zu berechnen .... unnötiger Aufwand.

In etwa so:

PHP:
<table>   
<?php  
    //Alle Tage durchloopen
    for ($i = 0; $i < 7; $i++){
        /** Ab PHP5.3 kann man auch mit date_add() arbeiten
        * $date = date();
        * date_add($date, new DateInterval("P{$i}D");
        */
        $date = mktime(0, 0, 0, date('m'), date('d')+$i, date('Y'));       
?>
    <tr>
        <!-- Wochentag und Datum ausgeben -->
        <td><?php echo date('l', $date); ?></td>
        <td><?php echo date('d.m.Y', $date); ?></td>
    </tr>    
<?php         
    }
    
?>
</table>
 
Also um ehrlich zu sein, ich versteh nur Bahnhof.

Du schreibst es sollen die Tage einer Woche dargestellt werden. Die Woche fängt aber nicht mit dem jeweils aktuellen (bei dir 24.02.) Datum an sondern mit dem Datum des Montags an. Oder soll einfach das Datum ab dem aktuellen Datum für 7 Tage im Voraus angezeigt werden?

Wo soll jetzt die Zeit eingetragen werden In einem Textfeld bzw. einfach so auf der Seite und welche Zeit soll dafür genommen werden. Die Uhrzeit wo die Seite aufgerufen wird oder soll beim Speichern in die Datenbank die Uhrzeit eingetragen werden zu der gespeichert wird?

Gruß Thomas
 
Vielen dank hat mich sehr weiter gebracht. Muss jetzt nur noch versuchen das in die felder rein zu bekommen, denk aber ich bekomme das hin.

Gibt es auch eine Möglichkeit Feiertage nicht mit anzugeigen?
 
Ja also es soll nur von dem Montag angefangen werden nicht von dem aktuellen und ja es soll in eine Textbox. aber immer in eine seperate. sie sollen nicht automatisch generriert werden da ich mit meinem wissens stand sie nicht in die DB speichern kann
 
Montag bis Freiteg?

PHP:
<table>   
<?php  
    //letzten Sonntag bestimmen
    $date = mktime(0, 0, 0, date('m'), date('d') - (date('w')) , date('Y'));
    //Alle Tage durchloopen
    for ($i = 0; $i < 5; $i++){
        $date = mktime(0, 0, 0, date('m', $date), date('d', $date)+1, date('Y', $date));       
?>
    <tr>
        <!-- Wochentag und Datum ausgeben -->
        <td><?php echo date('l', $date); ?></td>
        <td><?php echo date('d.m.Y', $date); ?></td>
    </tr>    
<?php         
    }    
?>
</table>
 
also ich bekomme es doch nicht hin mit den textboxen. das in jeder textbox ein anderes datum drinne steht.

hier was ich bis jetzt versucht habe (letzter versuch)

PHP:
<?php  
    
    $date = mktime(0, 0, 0, date('m'), date('d') - (date('w')) , date('Y'));
    
    for ($i = 0; $i < 5; $i++){
        $date = mktime(0, 0, 0, date('m', $date), date('d', $date)+1, date('Y', $date));       
?>
		  
		  <input name="textfield" type="text" id="textfield" value="<?php echo date('d.m.Y', $date); ?>" size="13">
		
		  <br></td>
          <td width="205"><input name="textfield2" type="text" id="textfield2" value="<?php echo date('d.m.Y', $date); ?>" size="13"></td>
          <td width="205"><input name="textfield3" type="text" id="textfield3" value="<?php echo date('d.m.Y', $date); ?>" size="13"></td>
          <td width="205"><input name="textfield4" type="text" id="textfield4" value="<?php echo date('d.m.Y', $date); ?>" size="13"></td>
          <td width="205"><input name="textfield5" type="text" id="textfield5" value="<?php echo date('d.m.Y', $date); ?>" size="13"></td>
          <td width="205"><input name="textfield6" type="text" id="textfield6" value="<?php echo date('d.m.Y', $date); ?>" size="13"></td>
          <?php }
 			?>
 
Machd ich mal schlau über Schlaufen in PHP.

PHP:
<table>
    <th>
<?php  
    
    $date = mktime(0, 0, 0, date('m'), date('d') - (date('w')) , date('Y'));
    
    for ($i = 0; $i < 5; $i++){
        $date = mktime(0, 0, 0, date('m', $date), date('d', $date)+1, date('Y', $date));       
?>
    <td width="205">          
        <input name="textfield<?php echo $i;?>" type="text" id="textfield<?php echo $i;?>" value="<?php echo date('d.m.Y', $date); ?>" size="13">
    </td>
<?php 
    }
?> 
    </th>
</table>
 
Zurück