Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Pulldown-Menü
Antwort
 
Themen-Optionen
Alt 28.02.2006, 18:37   Nach oben    #1
julien
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 52
Standard Pulldown-Menü

Hi!

Ich habe ein Formular, in dem es drei Pulldown Menüs gibt.
Wenn ich nun die Daten eines Eintrags bearbeiten möchte, werden mir zwar am Anfang die richtigen Daten in den Menüs angezeigt, sobald es aber ein Fehler gibt und somit das Formluar ein zweites Mal angezeigt wird, sind die Auswahlen aus der Datenbank
verschwunden.

Hier mal eines der Pulldownmenüs:
PHP-Code:
<select size="1" name="gtag" value="<?php echo $row[gtag]; echo $gtag;?>">
<option value=""<?php if(!$_POST[gtag]) echo " selected"?>>--Tag--</option>
<?php
   
for($a=1;$a<=31;$a++){
   echo 
"<option value=\"$a\" "; if($row[gtag]=="$a") echo " selected"; echo">$a</option>";
   }
?>
</select>
oder:

PHP-Code:
<select size="1" name="anrede" value="<?php echo $row[anrede];?>">
<option value=""<?php if(!$_POST[anrede]) echo " selected"?>>--w&auml;hlen--</option>
<option value="Frau"<?php if($_POST[anrede]=="Frau") echo " selected"?>>Frau</option>
<option value="Herr"<?php if($_POST[anrede]=="Herr") echo " selected"?>>Herr</option>
</select>
Any Ideas?

Grüße
julien
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 19:01   Nach oben    #2
Jojo
Irgendwas mit e
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 388
Standard

Zitat:
Zitat von julien
sobald es aber ein Fehler gibt und somit das Formluar ein zweites Mal angezeigt wird, sind die Auswahlen aus der Datenbank
verschwunden.
Bist du dir sicher, dass das ein MySQL-Problem ist? Mr. Gröning: bitte walten sie
Nebenbei: Welche "Auswahlen" meinst du denn?
Ich seh in deinem gepostetem Code nur reinen PHP-Code. Keine Einträge die aus einer Datenbank kommen könnten.

Ein wenig mehr Infos. Meine Kristallkugel ist leider immer noch beim Service-Team.

Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 19:51   Nach oben    #3
julien
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 52
Standard

War mir nicht sicher, ob ich in das PHP Forum posten sollte.

Ich habe eine MySQL-Abfrage und mittels <?php echo $row[anrede];?> etc. werden die Daten ausgelesen.

kurz Übersicht:
if(flag) wird auf Fehler überprüft
Fehler vorhanden -> Dann Error und Formluar wird angezeigt mit allen Daten allerdings nicht mehr aus der DB
if(!$flag and !$errors) -> Wird Formluar aus DB mit Daten versorgt
if(!flag) wird Formular angezeigt mit den Daten aus der DB
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 20:35   Nach oben    #4
Jojo
Irgendwas mit e
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 388
Standard

Zitat:
Zitat von julien
Ich habe eine MySQL-Abfrage und mittels <?php echo $row[anrede];?> etc. werden die Daten ausgelesen.
Was für ne MySQL-Query, welche Daten?
Ich versteh nicht, mit was für Daten du da handelst.
Werden da mehrere Zeilen mit jeweils 3 Pulldown-Menüs angezeigt?

Was steht denn als HTML-Code da, wenn nix angezeigt wird?
Seit wann kann denn ein select-Tag bitte schön ein value haben??

Sorry, aber das
Zitat:
kurz Übersicht:
if(flag) wird auf Fehler überprüft
Fehler vorhanden -> Dann Error und Formluar wird angezeigt mit allen Daten allerdings nicht mehr aus der DB
if(!$flag and !$errors) -> Wird Formluar aus DB mit Daten versorgt
if(!flag) wird Formular angezeigt mit den Daten aus der DB
hilft mir wenig.

Bedenke: Nur du kennst deinen Code. Es ist schwer für Außenstehende ein Problem zu lösen, ohne den Code vor sich zu haben und zu wissen, was sich der Prgrammierer dabei gedacht hat.
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 21:12   Nach oben    #5
julien
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 52
Standard

PHP-Code:
<?php

    
if($flag)
      {
       
$errors     0;

         
$knr        $_GET['knr'];
         
$gtag       $_POST['gtag'];

         if (!
$anrede) {
             
$error_list .= "<li>Anrede</li>\n";  $errors++;
             
$warning[anrede] = $w_style;
             }

       
//Wenn Fehler vorhanden, wird die Textausgabe formatieren und $_POST[flag] zur&amp;uuml;cksetzem, damit das Formular erneut angezeigt wird
       
if ($errors 0) {
                   
$meldung "blabla";
                }
       
//es liegt kein Fehler vor, also Speichern der Informationen in der Datenbank
       
else {
                     
/* Datenbanken */
                       //update-Datenbank
            

            
//Ausgabe der Meldung
                     
echo $meldung;
      }
     if(!
$flag and !$errors)
     {
        
$result mysql_query("SELECT * FROM user WHERE knummer = '$_GET[knr]'");
        
$row mysql_fetch_array($result);
                  }
      if(!
$flag)
        {
?>
          <form  action="<?php echo $PHP_SELF?>?knr=<?php echo $_GET['knr'];?>" method="post">
          <input type="hidden" name="flag" value="1">

                    <select size="1" name="anrede">
                       <option value=""<?php if(!$_POST[anrede]) echo " selected"?>>--w&auml;hlen--</option>
                       <option value="Frau"<?php if($row[anrede]=="Frau") echo " selected"?>>Frau</option>
                       <option value="Herr"<?php if($row[anrede]=="Herr") echo " selected"?>>Herr</option>
                    </select>

                        <select size="1" name="gtag" value="<?php echo $row[gtag]; echo $_POST['gtag'];?>">
                          <option value=""<?php if(!$_POST[gtag]) echo " selected"?>>--Tag--</option>
                          <?php
                          
for($a=1;$a<=31;$a++){
                          echo 
"<option value=\"$a\" "; if($row[gtag]=="$a") echo " selected"; echo">$a</option>";
                          }
                          
?>
                        </select>
                        <input type="submit" name="submit" value="updaten" class="submit">
                        <input type="submit" name="cancel" value="cancel" class="submit"></td>
                 </form>


<?php
       
/* !flag */
?>
Ich hoffe so ist es etwas besser...
Ich habe unwichtige Teile jetzt mal rausgekürzt.

Grüße
julien
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 21:21   Nach oben    #6
Jojo
Irgendwas mit e
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 388
Standard

Nun, ich denke dein Problem ist simpel.
Wenn ein Fehler auftritt, wird anscheinend $errors inkrementiert und $flag auf false gesetzt.
Allerdings wird dann dieser Teil deines Codes gar nicht mehr ausgeführt:
PHP-Code:
     if(!$flag and !$errors)
     {
        
$result mysql_query("SELECT * FROM user WHERE knummer = '$_GET[knr]'");
        
$row mysql_fetch_array($result);
                  } 
Dadurch wird nichts mehr aus der Datenbank geholt.
Also muss obiger Code auch ausgeführt werden, wenn es Fehler gibt.
Dann sollte es klappen.
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 21:27   Nach oben    #7
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.588
Standard

Das Problem ist ja nicht wirklich ein Problem mit der Datenbankkommunikation, so wie ich das hier verstanden habe. Aber ist ja nicht wirklich schlimm .

Der Thread wurde verschoben, wegen ...
... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten.,

verschoben
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.02.2006, 22:08   Nach oben    #8
julien
Benutzer
 
Registriert seit: 25.02.2006
Beiträge: 52
Standard

@Ben - war mir ja nicht ganz sicher wohin damit sorry!

Ich hab jetzt die Lösung.
@Jojo Würde ich deinen Vorschlag nehmen, dann würden Änderungen die ich gemacht habe, wieder durch die Datenbank ersetzt. Ich habe folgendes gemacht:

PHP-Code:
if(!$flag and !$errors)
     {
        $result = mysql_query("SELECT * FROM kunden WHERE kundennummer = '$_GET[knr]'");
        $row = mysql_fetch_array($result);
        
        $anrede   =    $row[anrede];
        $land     =    $row[land];
        $gtag     =    $row[gtag];
        $gmonat   =    $row[gmonat];
        $status   =    $row[status];
        $zugriff  =    $row[zugriff];
                  }
-------------------
<select size="1" name="anrede">
<option value=""<?php if(!$anrede) echo " selected"?>>--w&auml;hlen--</option>
<option value="Frau"<?php if($anrede=="Frau") echo " selected"?>>Frau</option>
<option value="Herr"<?php if($anrede=="Herr") echo " selected"?>>Herr</option>
</select>
Grüße und danke für die Unterstützung

julien
julien ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Dynamische" Menü bacarni JavaScript und AJAX 7 23.05.2006 18:27
Hintergrund bei Menü Bookworm HTML, XML und CSS 33 06.12.2005 19:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:30 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44