Ersetzen von Values einer Formularliste

Alles, was PHP betrifft, kann hier besprochen werden.

Ersetzen von Values einer Formularliste

Postby cracker1981 » 05. May 2006 10:59

Ich habe eine Auswahlliste in einem Formular.Das soll dann anschliessend die Daten in einer Datenbank speichern.
Nun meine Frage: Wie kann ich einen Wert eines Objektes dieser Liste nun vor dem Speichern selbst eingeben?
Beziehen tut sich das auf die 2.Liste(Format).Möchte 'sonstiges' als eine Zahl eintragen lassen.

Code: Select all
...
<?
   if($_REQUEST['Name']!="")
   {
      $a_datum=htmlentities($_REQUEST['A_Datum']);
      $name=htmlentities($_REQUEST['Name']);
      $strasse_nr=htmlentities($_REQUEST['Strasse_Nr']);
      $plz=htmlentities($_REQUEST['PLZ']);
      $ort=htmlentities($_REQUEST['Ort']);
      if ($REQUEST['Land']==""){$land="keine Angabe";
      }else{ $land=htmlentities($_REQUEST['Land']);}
      $lieferant=htmlentities($_REQUEST['Lieferant']);
      $format=htmlentities($_REQUEST['Format']);
      $sql_preis="select * from Versand where LName='$lieferant'";
      $result_preis=mysql_query($sql_preis);
      while($data_preis=mysql_fetch_array($result_preis)){
      if ($format=="Karte") {$preis=$data_preis['Preis_Karte'];}
       if ($format=="klein") {$preis=$data_preis['Preis_klein'];}
       if ($format=="mittel") {$preis=$data_preis['Preis_mittel'];}
       if ($format=="gross") {$preis=$data_preis['Preis_gross'];}
      if ($format=="sonstiges") {$preis="";}
      }
      mysql_query("INSERT INTO Ausgang (A_Datum,Name,Strasse_Nr,PLZ,Ort,Land,Lieferant,Preis) VALUES('$a_datum','$name','$strasse_nr','$plz','$ort','$land','$lieferant','$preis');");
   }

...
?>

<form action=postausgang2.php method=get>
<table border=0 cellpadding=0 cellspacing=0>
<? echo "<tr><td>Datum:</td><td> <input type=text size=15 name=A_Datum value=".$datum."></td></tr>";?>
<tr><td>Name:</td><td><input type=text size=50 name=Name></td></tr>
<tr><td>Strasse/Nr.:</td><td> <input type=text size=50 name=Strasse_Nr></td></tr>
<tr><td>PLZ:</td><td> <input type=text size=5 name=PLZ></td></tr>
<tr><td>Ort:</td><td> <input type=text size=35 name=Ort></td></tr>
<tr><td>Land:</td><td> <input type=text size=35 name=Land value="keine Angabe"></td></tr>
<tr><td>Lieferant:</td><td><select name=Lieferant class="Auswahl" size=1>
    <?  $result2 = mysql_query($sql2);
        while($data2 =  mysql_fetch_assoc($result2)){
          echo "<option value=".$data2['LName'].">".$data2['LName']."</option>";}?>
    </select></td></tr>
<tr><td>Biefformat:</td><td><select name=Format class="Auswahl" size=1>
        <?
        echo "<option value=Karte>Karte</option>";
        echo "<option value=klein>klein</option>";
        echo "<option value=mittel>mittel</option>";
        echo "<option value=gross>gross</option>";
        echo "<option value=sonstiges>sonstiges</option>"; ?>
    </select></td></tr>
<tr><td></td><td><br><input type=submit border=0 value="Hinzufügen"></td></tr>
</table>
</form>
cracker1981
 
Posts: 34
Joined: 11. January 2005 12:07

Postby gfaust » 08. May 2006 07:45

Hallo,

ohne gross auf dem Thema (register_globals) herumreiten zu wollen...

1.) Wenn Du das Formular schon per Submit-Button absendest, warum verwendest Du dann als Method im Formular "GET" und nicht "POST" ?

2.) Wenn Du schon eine Method wählst, warum liest Du die Werte nicht direkt aus dem zugehörigen Array ( $_GET[] bzw. $_POST[] ) aus?

noch ein paar Anmerkungen:

3.) Achte in Deinem HTML bitte auf halbwegs sauberen Stil ( Werte in Anführungszeichen z.B. action="test.php" )

4.) Wie ist das gemeint, Sonstiges als Zahl eintragen zu lassen?
Meinst Du den Betrag, oder einen Index?
Oder meinst Du den Wert Sonstiges des Lieferanten in der Tabelle Versand zu setzen?

5.) Ich würde für das SQL die INSERT INTO .... SET <Wertname> = <Variable> benutzen, das ist aber Geschmackssache (vor allem bei vielen Werten aber übersichtlicher).
Genaueres unter: http://dev.mysql.com/doc/refman/4.0/de/handler.html

Guido
gfaust
 
Posts: 41
Joined: 06. December 2005 18:31


Return to PHP

Who is online

Users browsing this forum: No registered users and 17 guests