dropdownwerte übergeben

derrodi

Grünschnabel
hallo leute,
ich komm irgendwie mit meinem script nicht ganz weiter. und zwar hab ich ein dropdown mit werten aus ner sql tabelle füllen lassen. nun wollte ich das verarbeitungsscript schreiben komm aber überhaupt nicht voran. wie übergebe ich denn nu die daten aus dem dropdown. ich habe bei den options den primkey als valuefeld genommen nur wie übergebe ich den denn? der soll jetzt durch das verarbeitungsscript in einen sql befehl eingesetzt werden. krieg das aber echt nicht hin.
wär nett wenn mir jemand helfen könnte. vielen dank

mein quellcode aus der seite, die die dropdowns anzeigt
PHP:
<?php
include ("db_connect_klasse.rodi");

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle ORDER BY KlassSort ASC";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
?>
 
 <select>
<?
while ($ausgabe = mysql_fetch_array ($result))
 {
 echo "<option value='$ausgabe[KlassSort]'>$ausgabe[Klassenname]</option>";
 }

?>
</select>
<?
mysql_close ($dbverbindung);

include ("db_connect_dat.rodi");

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle WHERE Freigabe=1";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
?>
 
 <select>
<?
while ($ausgabe = mysql_fetch_array ($result))
 {
 echo "<option>$ausgabe[Dat]</option>";
 }

?>
</select>
<?
mysql_close ($dbverbindung)?>
 
Original geschrieben von derrodi
ich habe bei den options den primkey als valuefeld genommen nur wie übergebe ich den denn? der soll jetzt durch das verarbeitungsscript in einen sql befehl eingesetzt werden. krieg das aber echt nicht hin.
wär nett wenn mir jemand helfen könnte. vielen dank
Ist der Code aus einer einzelnen Datei oder aus verschiedenen? Falls erstes: Warum beendest Du die Datenbankverbindung, obwohl Du nochmals auf die Datenbank zugreifst?

Ebenfalls solltest Du den Befehl (sofern Du eine PHP Version höher als 4.0.6 einsetzt) mysql_db_query nicht mehr verwenden, da er veraltet ist. Stattdessen solltest Du lieber den Befehl mysql_select_db() und mysql_query() verwenden. Nachzulesen ist das ganze hier!

PHP:
<?php
include ("db_connect_klasse.rodi");

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle ORDER BY KlassSort ASC";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
?>
 
 <select name="klasse">
<?
while ($ausgabe = mysql_fetch_array ($result))
 {
 echo '<option value="'.$ausgabe['KlassSort'].'">'.$ausgabe['Klassenname'].'</option>';
 }

?>
</select>
<?
$dbanfrage = "SELECT * from $tabelle WHERE Freigabe=1";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
?>
 
<select name="dat">
<?
while ($ausgabe = mysql_fetch_array ($result))
 {
 echo '<option value="'.$ausgabe['Dat'].'">'.$ausgabe['Dat'].'</option>';
 }

?>
</select>
<?
mysql_close ($dbverbindung)?>
So, und im PHP-Script was das Formular auswertet, kannst Du die Werte aus den Select-Feldern folgendermaßen einbinden:

PHP:
$strSQL = 'SELECT * FROM table WHERE klasse = "'.$_POST['klasse'].'" AND dat = "'.$_POST['dat'].'";

Noch was zum Schluss: Bitte halte Dich an die Netiquette!
 
hallo,
vielen dank für deine antwort. sie hat mich schon ein stück weitergebracht. allerdings haut die ausgabe nicht ganz hin ... hab die abfrage mit eingebaut aber er zeigt mir nen fehler in zeile 25 an. das ist aber der </html> tag ... ich hoffe es kann mir nochmal jemand helfen. bin noch neu in der thematik und hab kein tutorial gefunden was dieses problem beschreibt.
vielen dank

PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
<html>
<head>
       <title>Title here!</title>
</head>
<body>

<?php

 include ("db_connect_klasse.rodi");

$dbverbindung = mysql_connect ($host, $user, $password);
$strSQL = 'SELECT * FROM $tabelle WHERE Klassenname = "'.$_POST['klasse'].'";
$result = mysql_db_query ($dbname, $strSQL, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result))
{
print ("$ausgabe[klasse]");
}

mysql_close ($dbverbindung);

?>

</body>
</html>
 
derrodi hat gesagt.:
hab die abfrage mit eingebaut aber er zeigt mir nen fehler in zeile 25 an. das ist aber der </html> tag ...
Man sollte immer auch ein oder mehrere Zeilen über der angegebenen Zeile nach einem Fehler suchen.

PHP:
$strSQL = 'SELECT * FROM $tabelle WHERE Klassenname = "'.$_POST['klasse'].'"';
Man beachte den letzten Single-Quote! Anscheinend benutzt Du keinen Editor mit Syntax-Highlighting. Da wäre Dir das direkt aufgefallen.

Und nochmal: Bitte halte Dich an die Netiquette!
 
Zurück