Formular auswerten

mgoertz

Mitglied
Hallo zusammen,

ich hab ein Problem ein Formular auszuwerten. Hier mein Code:

Code:
<form>
<?php
    $artikel = mysql_query ("SELECT id, bezeichnung1 FROM 
       $prefix"."_artikel ORDER BY bezeichnung1 ASC")or die(mysql_error());
echo '<select onchange="this.form.preis.value=this.options
  [this.selectedIndex].value" name="preis1" class="input" style="WIDTH: 
  100%" tabIndex=2>';
while ($cat1 = mysql_fetch_object($artikel)) {
  $preisquery = mysql_query ("SELECT preis1, waehrung1 FROM 
     $prefix"."_preise WHERE ((id_artikel1 ='$cat1->id') and 
     ((kunden_id='$kidsel') or (kunden_id=0))) ORDER BY kunden_id DESC")
     or die(mysql_error());
  $cat2 = mysql_fetch_object($preisquery);
$preis1_deutsch = str_replace ('.', ',', $cat2->preis1);

echo "<option value=\"".$preis1_deutsch."&nbsp;".$cat2->
  waehrung1."\">".$cat1->bezeichnung1."</option>";}
  echo "</select>";
  echo '</td>';
?>
</form>


Wenn ich jetzt $_POST['preis1'] ausgeben lasse bekomme ich den Preis,
was so auch ok ist. Nun möchte ich aber noch gerne die id des Artikels
abgreifen. Aber ich bekomme das nicht hin. Kann mir da evtl. jemand helfen ? Danke
 
Ich gehe mal davon aus, dass du das Forumular dann an eine andere Seite schickst, auf der dann die Seiten ausgegeben werden. Schickst du überhaupt die id mit
Ich sehe nur, dass du den Preis schickst
 
PHP:
...SELECT id,preis1, waehrung1 FROM ...

Du kannst in deinem Array nur auf die Daten zugreifen, die du auch im query ausliest!.
Also id im query einbauen.
 
ich will das Feld id und den Preis in einer Datenbanktabelle speichern. ich weiß dass ich die id noch mit übergebene muß ($cat1->id) nur das ist das Problem, dass ich nicht weiß wie ich 2 Felder übergebe.

@ceraph die query ist richtig denn es soll die ID des Artikels mit gespeichert werden und der Artikel wird in einer anderen Query (weiter oben im Code) ausgelesen
 
Zuletzt bearbeitet:
Wenn Du in der Form 2 Felder hast werden automatisch 2 Werte uebergeben.
Falls Du 2 Werte im URL uebergeben willst machst Du das so:
HTML:
<a href="index.php?var1=wert1&amp;var2=wert2">Link mit 2 Variablen</a>
Diese Variablen kannst Du dann aus dem Array $_GET holen.
Mit ? leitest Du die Uebergabe der Variablen ein, mehrere Variablen werden durch ein & getrennt.
Sauberer ist es wie im Beispiel angezeigt &amp; statt & zu nutzen da es dem Standard entspricht.
 
ok ich weiß jetzt wie ich 2 Werte über das Formular übergebe, und zwar mach ich das jetzt so:
Code:
echo "<option value=\"".$preis1_deutsch."&nbsp;".$cat2->waehrung1."|".$cat1->id."\">".$cat1->bezeichnung1."</option>";}
nun hab ich aber das Problem dass beim Onchange dder | und die id noch abgeschnitten werden müssten, leider weiß ich nicht wie ich das realisieren kann oder hat jemand mir nen besseren tipp ?
 
Wenn du sie nicht brauchst, wieso verwendest du das dann?
Kapier ich nicht.

Überhaupt habe ich das Gefühl, du hast nen grundsätzlichen Denkfehler drin,
der vieles unnötig kompliziert macht.

Was willst du genau realisieren, also was soll das skript können, usw.
Vielleicht gibts doch viel einfachere Wege.
 
ich hab unterschiedliche Tabellen: Artikel, Preis, .....
Ich wähle in einen Dropdownfeld einen Artikel aus und dann wird automatisch der passende Preis angezeigt. Es soll dann in einer Tabelle die id des Artikels und der entsprechende Preis sowie ander Felder gespeichert werden
 
mgoertz hat gesagt.:
ich hab unterschiedliche Tabellen: Artikel, Preis, .....
Ich wähle in einen Dropdownfeld einen Artikel aus und dann wird automatisch der passende Preis angezeigt. Es soll dann in einer Tabelle die id des Artikels und der entsprechende Preis sowie ander Felder gespeichert werden
OK. Also grundsätzlich: Die Daten von Artikel und Preis VOR der Ausgabe auslesen und zu verarbeiten!
Dadurch wird erstens alles übersichtlicher und zweitens ist es einfacher/besser Fehler abzufangen, bzw. darauf einzugehen.

Also soll onChange mit javasript der Preis angezeigt werden, richtig?
Wann sollen die Daten in eine DB eingetragen werden?
 
das mit dem onchange ist richtig.
Die Daten sollen in der Datenbank gespeichert werden, nachdem ein artikel aus dem Dropdown ausgewählt wurde und ein Button zum Eintragen in die Datenbank gedrückt wurde
 
Zurück