Smarty und Formular

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

  • Smarty und Formular

    Hallo,

    ich habe ein Smarty Template in dem ein Formular ausgegeben wird Die einzelnen Punkte des Formulars werden aus einer Datenbank ausgelesen.

    Beispiel für das Formular: http://www.london-tour.de/londonsaver/

    In diesem Formular sind auch Checkboxen enthalten. Nach dem Absenden des Formulars wird eine Berechnung durchgeführt und das Formular (mit dem Ergebnis am Ende) wieder geladen.

    Nun möchte ich, dass die Checkboxen die bereits markiert wurde auch beim Neuladen des Formulars angehakt bleiben.

    So lese ich die Daten aus der DB und übergebe sie an das Template:



    PHP-Code:
    $query "SELECT * FROM $tabelle_daten ORDER BY id DESC, name DESC";
    $result mysql_query($query);
    $datasaver = array();
    while(
    $row mysql_fetch_array($result))
        {
            
    $datasaver[] = $row;

        }

    $smarty->assign('daten'$datasaver); // In Smarty speichern 

    Im Template gebe ich die Daten dann so aus:

    PHP-Code:
    <center><table  border cellspacing=0 cellpadding=2>
    <
    form method="post" action="index.php?cat=londonsaver&action=preis">
    <
    tr><td><font face="Verdana" size="1">Name</td></font><td><font face="Verdana" size="1">
    Erwachsene</td></font><td><font face="Verdana" size="1">
    Sch&uuml;ler</td></font><td><font face="Verdana" size="1">
    Rentner</td></font><td><font face="Verdana" size="1">
    Sonstige</td></font><td><font face="Verdana" size="1">
    Bemerkung</td></font><td><font face="Verdana" size="1">
    Erwachsene/Sch&uuml;ler/Rentner/Sonstige</td></font></tr>"</span></font></p>

                 {foreach from=
    $daten item=sight}
                  <tr><td><font face="
    Verdana" size="1"><b>
                  
    <a href="
    {$sight.link}" target=\"_blank\">
                  
    {$sight.name}</a></b></td></font><td>
    <font face="
    Verdana" size="1">{$sight.erwachsene}</td></font><td>

    <font face="
    Verdana" size="1">
    {$sight.schueler}</td></font><td>

    <font face="
    Verdana" size="1">
    {$sight.rentner}</td></font><td>

    <font face="
    Verdana" size="1">
    {$sight.sonstige}</td></font><td>

    <font face="
    Verdana" size="1">
    {$sight.bemerkung}</td></font>
                  <td>
    <input type="
    checkbox" name="erwachsene[{$sight.id}]" value="{$sight.erwachsene}">
                  
    <input type="
    checkbox" name="schueler[{$sight.id}]" value="{$sight.schueler}">
                  
    <input type="
    checkbox" name="rentner[{$sight.id}]" value="{$sight.rentner}">
                 
     <input type="
    checkbox" name="sonstige[{$sight.id}]" value="{$sight.sonstige}">
                  </td></tr>

                  {/foreach}

                  </table>
    <input type="
    submit" name="button" value="Berechnen"></form><br> 
    Wie kann ich nun am Besten beim nach dem Abschicken des Formulars (also beim 2. Durchlauf des Scriptes) dem Template miteilen, dass es die Checkboxen die per POST gesendet wurden wieder auf checked setzt ?

    Ich bin für jeden Tipp dankbar.
    Zuletzt geändert von Dominic; 20.03.2005, 19:11.

  • #2
    tipp nummer eins: http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Danke. Ich habs geändert.

      Kommentar


      • #4
        du solltest in deinem template auch mal reinschreiben, dass man die CBs mittels 'checked' aktivieren kann. nun musst du diese nur noch via php aktivieren. also den passenden code an das template senden.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Soweit ist mir das auch noch klar.

          Ich benenne die Checkbox z. B. mit erwachsene[{$sight.id}] also mit erwachsene und d er id des Datensatzes.

          An der Stelle komme ich nicht mehr weiter. Wie kann ich mit PHP prüfen. ob die Checkbox angeklickt war und dies später wieder an das Template in der Schleife übergeben ?

          Ich hatte mir überlegt zum Array mit den Daten noch eine Variable mit dem wert checked oder nicht zu übergeben und diese dann in der "foreach" schleife im Template wieder auszulesen.

          Leider bekomme ich das praktisch nicht hin.

          Kommentar


          • #6
            Hat denn niemand eine Idee ?

            Kommentar

            Lädt...
            X