tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von kuddeldaddeldu
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
2137
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    Also ich habe ein Formular in dem ich eine Drop-Down-Liste eingebettet habe. Die einträge der liste bekom ich aus ner datenbank damit die in deutsch und endlisch zu sehen sind.

    wenn ich dann auch absenden gehe ruft sich das formular nach einem check selbst wieder auf, und meckert wo einträge fehlen oder nicht korrekt sind. alle einträge, egal ob falsch oder richtig, stehen dann noch da.... alle radio buttons sind noch so ausgewählt und die checkboxen genau so.... ebenso wie die textboxen noch den text enthalten.
    aber bei der dropdownliste ist nicht mehr der vorher gewählte eintrag da... wie mach ich das, das nach dem klick auf den button der eintrag immernoch ausgewählt ist..... hier mein code zu der liste

    PHP-Code:
    function draw_TischDeko($err)
    {
        echo 
    "<br>\n";
        echo 
    $_REQUEST['TischDeko'];
        echo 
    "<fieldset>\n";
        echo 
    "<legend>$err<label for='Tischdeko'><span class=\"legHeader\">&nbsp;" $_SESSION['geb_Deko'] . ":</span></label></legend>\n";
        echo 
    "<label for='ez'>" $_SESSION['geb_DekoThema'] . ":</label>\n";
        echo 
    "<SELECT NAME=\"TischDeko\" id=\"ez\">\n";
        echo 
    "          <option>Bitte auswählen</optio>\n";
        echo 
    "     <optgroup label=\"Mädchendekoration\">\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko01'] . "\">".$_SESSION['geb_Deko01']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko02'] . "\">".$_SESSION['geb_Deko02']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko03'] . "\">".$_SESSION['geb_Deko03']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko04'] . "\">".$_SESSION['geb_Deko04']."</option>\n";
        echo 
    "      </optgroup\">\n";
        echo 
    "      <optgroup label=\"Jungendekoration\">\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko05'] . "\">".$_SESSION['geb_Deko05']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko09'] . "\">".$_SESSION['geb_Deko09']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko06'] . "\">".$_SESSION['geb_Deko06']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko07'] . "\">".$_SESSION['geb_Deko07']."</option>\n";
        echo 
    "        <option value=\"" $_SESSION['geb_Deko08'] . "\">".$_SESSION['geb_Deko08']."</option>\n";
        echo 
    "      </optgroup\">\n";
        echo 
    "    </select><br>\n";
        echo 
    " <label for='deko'>".$_SESSION['geb_DekoAlternat']."</label>&nbsp;<input name=\"dekoAlternat\" id=\"dekoAlternat\" value=\"" $_POST['dekoAlternat'] . "\" type=\"text\" size=\"20\" maxlength=\"30\">\n";
        echo 
    "</fieldset>\n";

     

  2. #2
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    wo kommen denn in dem Schnipsel die Daten aus der DB? Du füllst die Liste ja aus der Session...

    DB würde denke ich in etwa so aussehen:

    PHP-Code:
    while($row mysql_fetch_assoc($result)) {
       echo 
    '<option value="' $row['TischDeko'] . '"';
       if(
    $row['TischDeko'] == $_POST['TischDeko']) {
          echo 
    ' selected'//gesendeten Eintrag wieder auswählen
       
    }
       echo 
    '>' $row['TischDeko'] . '</option>';

    LG
    Fabsch bedankt sich. 

  3. #3
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    ja genau ich neme die einträge aus der session variable die ich aber aus der datenbank fülle...(habe nicht ich geschrieben sondern mein vorgänger und ich muss es modifizieren)

    die idee das direkt aus der DB zu hlen hatte ich auch schon nur weiß ich nicht wie... das codefragment sieht schon sehr hilfreich aus... kann ich das so verwenden wie es da ist? wenn nicht, was muss ich noch machen und beachten?
     

  4. #4
    Fabsch Fabsch ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    127
    Hallo,

    du kannst das eigentlich so verwenden.

    Nur musst du noch die MySQL-Query ausführen, um an die Daten in der Datenbank zu kommen:
    PHP-Code:
    $result mysql_query("SELECT * FROM `table`");
    while(
    $row mysql_fetch_assoc($result))

          echo 
    '<option value="' $row['TischDeko'] . '"'
          if(
    $row['TischDeko'] == $_POST['TischDeko'])
          { 
                echo 
    ' selected'//gesendeten Eintrag wieder auswählen 
          

          echo 
    '>' $row['TischDeko'] . '</option>'

    Ansonsten sollte eigentlich alles stimmen.

    MfG
    Fabsch
     

  5. #5
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    das problem ist jetzt nur noch das die tabelle nicht einfach nur ne tabelle ist sondern auch mehrere spalten hat....

    id----reihenfolge-----optgroup--------------------de--------------------en
    0--------0--------------tischdenko------------unterwasser------under water
    1--------1--------------tischdenko---------------fussball------------football

    wie mach ich das dann?
    (die sprache wird gaaaanz am beginn der session (die session von der seite) gewählt
     

  6. #6
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    komisches DB-Design... Mit den beiden Zeilen kann ich jetzt nichts anfangen. Zeig' doch mal, wie die Sessionvariablen gefüllt werden, vielleicht erklärt das mehr.

    LG
     

  7. #7
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Also dein Db design solltes du nochmals überdenken. Soweit ich das aus den 2 Zeilen sehe hast du dort eine Redunaz drin die man vermeiden sollte.

    Mfg Splasch
     

  8. #8
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    die session variablen werden folgendermaßen gefüllt...
    (denke doch mal das es das ist, wie gesagt das ist NICHT mein werk... ich muss es nur etwas änder aber basierend auf DIESEM werk.....

    also zu den Session variablen und dann noch ne frage von mir:
    also erst mal in die datenbank..... ganz normal... und dann die sprache auswählen :
    PHP-Code:
    if(isset($_REQUEST['lang']))
    {
        if(
    $_REQUEST['lang'] == "de")
        {
            
    $_SESSION['lang'] = "de";
        }
        elseif(
    $_REQUEST['lang'] == "en")
        {
            
    $_SESSION['lang'] = "en";
        }
        else
        {
            
    $_SESSION['lang'] = "en";
          }

    anschließend folgendes... (NICHT MEIN WERK )
    hier werden (glaub ich) tausende von sessionvariablen angelegt, und zwar jedesmal wenn ne neue website session angelegt wird..... d.h. jeder user hat seine eigene bebliotek an sessionvariablen..... in der tebelle translate sind alle teste deutsch und englisch.....

    PHP-Code:
    $db->setFetchMode(DB_FETCHMODE_ASSOC);
    $query =& $db->query("SELECT alias, " .$_SESSION['lang']. " FROM translate");
    if (
    PEAR::isError($query))
    {
        die(
    $query->getMessage());
    }

    //array basteln
    //alias als index von $_SESSION und de/en text als wert
    while ($row $query->fetchRow())
    {
      
    $_SESSION[$row['alias']] = $row[$_SESSION['lang']];

    ich weiß das der mist schwachsinnig ist.... aber naja was solls.... ich habe jetzt ne andere frage zu dieser funktion...

    PHP-Code:
    function draw_kuchen2()
    {
        global 
    $db;
            
    $sql "SELECT * FROM FormOptions WHERE OptGroup = 'Kuchen' Order by Reihenfolge LIMIT 0, 20 ";
            
    $query $db->query($sql);

            if (
    PEAR :: isError($query))
            {
                die(
    $query->getMessage() . " " $sql);
            }

            echo 
    "<fieldset>\n";
            echo 
    '<legend><span class="legHeader">&nbsp;' $_SESSION['geb_kuchen'] . "&nbsp;</span></legend>\n";
            echo 
    '<table border = "0" width="60%">';
            while (
    $row $query->fetchRow())
                {
                      echo 
    '<tr><td><input type = "checkbox" value="' $row[$_SESSION['lang']] . '"';
                      if(
    $row[$_SESSION['lang']] == $_POST[$_SESSION['lang']])
                      {
                            echo 
    'checked="checked"'//gesendeten Eintrag wieder auswählen
                      
    }
                      echo 
    '>&nbsp;' $row[$_SESSION['lang']] . "&nbsp;
                          </td>
                          <td>
                                " 
    $_SESSION['geb_form27'] . "
                        </td>
                        <td>
                                <input type=\"text\" id=\"kuchenanz\" value=\"" 
    $_REQUEST['kuchenanz'] . "\" name=\"kuchenanz\" border=\"0\" size=\"2\" maxlength=\"3\">
                        </td>
                        <td>
                                &euro;&nbsp;" 
    $row['Preis'] . "
                        </td>
                      </tr>\n"
    ;
    //hier
                
    }
            echo 
    '</table>';
            echo 
    "</fieldset>\n";

    hier wird aus der datenbank alle einträge von OptGroup ausgelesen und ausgegeben... alles dynamisch....

    ich will das ganze so haben das.... wenn ich eines anchecke und in das textfeld die anzahl angebe, DANN erstmal auf den absenden button klicke, dann soll der preis * die anzahl gerechnet werden und dann aber noch die anzahl im textfeld drinnen stehen und der hacken in der checkbox sein.....

    ich möchte bitte die variable bei //hier testweise ausgeben lassen
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.10.07, 17:13
  2. Werte von DB-Tabelle in Drop-Down-Liste
    Von corona im Forum PHP
    Antworten: 3
    Letzter Beitrag: 01.10.05, 14:14
  3. multiple Drop-down Liste
    Von xollo im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 1
    Letzter Beitrag: 23.09.04, 11:48
  4. Drop-Liste
    Von thobikid im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 13.11.03, 18:09
  5. Drop Down Liste dynamisch füllen
    Von angelnb im Forum ASP
    Antworten: 3
    Letzter Beitrag: 27.08.03, 15:05