Problem mit daten auslesen und speichern - Checkboxen

evoleena

Erfahrenes Mitglied
Ich komme net mit Checkboxen klar ich hoffe ihr könnte es mir einfach erklären, damit ich nicht jedensmal drüber stolper

folgendes Problem:
In der Datenbank steht ein Anreise und ein Abreise Datum. Wenn ich mein Frühstücksformular aufrufen, wenn ich ein Buchung ausgewählt habe, wird das Datum von anfang bis ende ausgegeben, und dazu gehören jeweils ein Ja und eine Nein Checkbox.
Mein Problem ist, wie kann ich alle Daten (jeweils angeklickte Checkbox zum zugehörigen Datum) auf einmal in der Datenbank speichern.
Ich wollte schon veruschen, das Datum als Inputfeld zu machen, aber das bringt mich nicht weiter

Hier ist mein Quelltext
PHP:
echo" Gebucht vom "; echo strftime("%d.%m.%Y", $buchung['anreise'])." bis ".strftime("%d.%m.%Y", $buchung['abreise']);
      echo"</td>
     </tr>
     <tr>
      <td>
       Datum
      </td>
      <td align='center'>
       Ja
      </td>
      <td align='center'>
       Nein
      </td>
      <td>
       Kosten
      </td>
     </tr>";
      $tage = $buchung['abreise']-$buchung['anreise'];
      $datum = $tage / 86400;
      echo "Tage: ".$datum;
      if ($datum>=0)
      {
        for($i=1;$i<>$datum+1;$i++)
        {
            echo"<tr>
              <td>";
                $da = $buchung['anreise']+($i*86400);
                echo strftime("%d.%m.%Y",$da);
              echo"</td>
              <td align='center'>
               <input type='checkbox' name='fruehstueck[]' 
                 value='1'>
              </td>
              <td align='center'>
               <input type='checkbox' name='fruehstueck[]' 
                 value='0'>
              </td>
             </tr>";
        }
      }
 
Hi!

Setz doch das jeweils der Checkbox zugeordnete Datum als value ein. Dann kriegst du alle angeklickten Daten im Array "fruehstueck".

Mamphil
 
Gut habs jetzt eine checkbox drauß gemacht!

aber ich bekomme es nicht hin, das Datum als Value einzubauen.
Es liegt an der Zeichensetzung kann mir jemand helfen und das richtig biegen?

PHP:
<input type='checkbox' name='fruehstueck' 
value='."strftime("%d.%m.%Y",$da)"'>
 
Hi!

Was willst du mit strftime? Nimm doch date...

Also: Ich sehe dein Problem nicht: Mach einfach mal nach dem Abschicken ein
PHP:
print_r($_POST);
(evtl. $_POST durch $_GET ersetzen oder gleich $_REQUEST verwenden)
Dann siehst du erstmal, was das Formular alles abschickt.

Ich habe mir deinen Beitrag noch mal genauer durchgelesen und darin versteckt die scheinbar eigentliche Frage gefunden:
Mein Problem ist, wie kann ich alle Daten (jeweils angeklickte Checkbox zum zugehörigen Datum) auf einmal in der Datenbank speichern. (Da gehört ein Fragezeichen hin ;) )

Bitte stell die wichtigen Fragen einfach mal heraus, damit man auch beim nicht 100%igen lesen nichts wichtiges übersieht!

Die Antwort dazu: Schreibe das Datum z. B. als CSV, also als Comma Seperated String oder als sonst irgendwie mit einem Trennzeichen zusammengefügter String.
Dazu bieten sich die Funktionen implode (String aus Array erstellen) und explode (Array aus String erstellen) an.

Ich hoffe, das hilft dir weiter...

Mamphil
 
Zuletzt bearbeitet:
Habs jetzt so gelöst!
Also wie gesagt, habe nur noch eine checkbox mit ja also wenn nein ist, wird nix angeklickt.
dann lese ich mit foreach aus, sodas er mir das Datum anzeigt, wo die Checkbox gedrückt wurde, nun muss ich ihm nur noch sagen , das er es mir nich anzeigen soll, sondern in Datenbank schrieben soll.
 
Zurück