Select-Feld

renner2000

Grünschnabel
bitte schlagt mich nich gleich für meine Frage, aber ich bin Anfänger

ich habe eine Datenbank "X" (Tabelle: Preise) mit z.B. 4 Spalten mit folgenden Inhalten:

Spalte / Inhalt

preis_id / geraet_id / preis1 / preis2
1 / gerät1 / 5.00 / 3.00
2 / gerät2 / 7.00 / 5.00
3 / gerät3 / 9.00 / 3.00

Jetzt möchte ein Select-Feld erstellen bei welchem es den Inhalt der
Spalte geraet_id anzeigt (also gerät1, gerät2, ..usw.)

--- mein Anfang --------------------------------------------

<?php
mysql_connect("rdbms.strato.de",
"benutzer","kennwort") or die
("Keine Verbindung moeglich");
mysql_select_db("DBXXXXXX") or die
("Die Datenbank existiert nicht");
?>


<?
$result = mysql_query("SELECT geraet_id FROM Preise");
?>

<?
funktion mk_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) {
echo "select $multipleauswahl name=\"$name\" size=$groesse>";


$i=0;
while($row = mysql_fetch_array($result)) {
echo "<option value=\"" . $row[$feld] . "\">";
echo $row[$feld];
echo "</option>\n";

}
mysql_data_seek($result, 0);
echo "</select>";

}
?>

</body>

</html>

--------------------------------------->
nun funktioniert das ganze noch nicht, kommt immer die fehlermeldung:

Parse error: parse error in /mnt/am2/05/258/00000010/htdocs/preise/preise_test.php on line 35

Vielleicht kann mir jemand helfen
 
Poste mal bitte die Zeilen 33-37 von deinem Script, da man oben nicht erkennen kann, welches die Zeile 34/35 und 36 ist. Das erleichter es uns dir zu helfen.
 
<?
funktion mk_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) {
echo "select $multipleauswahl name=\"$name\" size=$groesse>";


$i=0;
while($row = mysql_fetch_array($result)) {
echo "<option value=\"" . $row[$feld] . "\">";
echo $row[$feld];
echo "</option>\n";

}
mysql_data_seek($result, 0);
echo "</select>";

}
?>
 
PHP:
echo "select $multipleauswahl name=\"$name\" size=$groesse>";
Dort fehlt am Anfang bei select ein <
und ändere diese Zeile:
PHP:
while($row = mysql_fetch_array($result)) {
auf das:
PHP:
while($row  =  mysql_fetch_array($datensatz))  {
und schreib mal deine function mit c!
Probier es nochmal wenn es nicht geht, dann melde dich bitte nochmal!

*Off Topic*
Benutze nächstes mal bitte die Code Tags
 
Zuletzt bearbeitet:
danke für die schnelle Antwort. bekomme aber nach wie vor den Fehler:

Parse error: parse error in /mnt/am2/05/258/00000010/htdocs/preise/preise_test.php on line 15



:(

PHP:
<?php
mysql_connect("rdbms.strato.de",
"benutzer","kennwort") or die
("Keine Verbindung moeglich");
mysql_select_db("DBXXXXXX") or die
("Die Datenbank existiert nicht");
?>


<? 
$result = mysql_query("SELECT geraet_id FROM Preise");
?>

<?
funktion mc_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) {
echo "<select $multipleauswahl name=\"$name\" size=$groesse>";


$i=0;
while($row = mysql_fetch_array($datensatz)) {
echo "<option value=\"" . $row[$feld] . "\">";
echo $row[$feld];
echo "</option>\n";

}
mysql_data_seek($result, 0);
echo "</select>";

}
?>
 
Du hast noch nicht alles geändert.
und schreib mal deine function mit c!
Im Deutschen schreibt man Funktion mit "k", aber in den Scriptsprachen schreibt man sie mit "c".
So muss das heißen:
PHP:
function mc_select($datensatz, $feld, $name, $multipleauswahl ="", $groesse = 10) { 
echo "<select $multipleauswahl name=\"$name\" size=$groesse>";
 
Coole Sache !

Ich hab mich immer gefragt was meint der bloß mit dem "C" ...
einfach nicht drüber nachdenken, ich habs geändert und jetzt funktioniert es !

DANKE DANKE!
 
jetzt klapp zwar alles - nur eins hab ich vergessen. in welcher variable steckt nun die getroffene auswahl die weitergegeben werden kann, bzw. wie funktioniert es am besten?
 
irgendwie wird der value nicht übertragen

hier mein code:
PHP:
<? 
$datensatz1 = mysql_query("SELECT geraet_id FROM Preise ORDER by geraet_id");
?>

<form  action=ausgabetest.php  method=post>

Handyauswahl<br>
<?

function mc_select($datensatz1, $feld, $Handysuche, $multipleauswahl ="", $groesse = 10) { 
echo "<select $multipleauswahl name=\"$Handysuche\" size=$groesse>"; 

$i=0;
while($row = mysql_fetch_array($datensatz1))

{

echo "<option value=\"" . $row[$feld] . "\">";
echo $row [$feld];
echo "</option>\n";

}
"</select>";

}

mc_select($datensatz1, "geraet_id", "multiple", "10");

?>

<INPUT TYPE="submit" ACTION="ausgabetest.php" VALUE="Suchen"  METHOD="post">
 
<INPUT TYPE="reset" VALUE="Eingaben löschen">

dann nur erstmal zum testen hab ich die ausgabetest.php erstellt wo der VALUE angezeigt werden soll.

ausgabetest.php
PHP:
<?
echo $_POST['Handysuche']; ?>


Im Select-Feld wird der Inhalt der DB richtig angezeigt. So weit so gut.
Nur leider kommt in der "ausgabetest.php" nichts an :(
 
Der Zugriff erfolgt nicht über diese Variable, sondern über den Namen des select-feldes.
Das übergibst du an die Funktion. Also Zugriff über $_POST['geraet_id']

Ändere bitte ausserdem
[tab]<form action=ausgabetest.php method=post>[/tab]
in
[tab]<form action="ausgabetest.php" method="post">[/tab]

und
[tab]<INPUT TYPE="submit" ACTION="ausgabetest.php" VALUE="Suchen" METHOD="post"> [/tab]
in
[tab]<input type="submit" value="suchen">[/tab]
 
Zurück