PHP - Auswahl aus Listenfeld ausgeben
Hi NG,
ich möchte mit folgendem Code:
ausgewälte Daten aus dem Listenfeld ausgeben. Leider weiß ich nicht wie?
Die Code-Tags sind mal wieder verlohren gegangen!
Gruß
Andy
ich möchte mit folgendem Code:
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
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
<?php
$daten = "adressen";
$db = mysql_connect ("localhost", "root", "");
if (!$db) {
die('Verbindung schlug fehl: ' . mysql_error());
}
$select_db = mysql_select_db($daten);
$sql_befehl = "select * from mitglieder";
$result = mysql_query($sql_befehl);
echo '<form method="post" action="">';
echo '<select name="" size="1">';
echo '<option selected value=""></option>';
while($row = mysql_fetch_array($result))
{
echo '<option name="wahl" value="' .$row[3]. '">' .$row[3]. '</option>';
}
echo '</select>';
echo '</form>';
//an der Stelle möchte ich die Auswahl ausgeben.
echo $_POST['wahl'];
?>
ausgewälte Daten aus dem Listenfeld ausgeben. Leider weiß ich nicht wie?
Die Code-Tags sind mal wieder verlohren gegangen!
Gruß
Andy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 203793
Url: https://administrator.de/forum/php-auswahl-aus-listenfeld-ausgeben-203793.html
Ausgedruckt am: 11.04.2025 um 03:04 Uhr
3 Kommentare
Neuester Kommentar
... Du scheinst nicht die Interaktion von Client (Browser / HTML) und dem Server (PHP /DB) zu verstehen.
Du hast also keinen Controller der prüft welche Aktion genau ausgeführt werden soll. simples Beispiel:
.. so zB.
- Dein Skript holt die Daten für das select Form Element aus der DB und sendet es an deinen Browser. (inklusive deiner $_POST Variablen, welche leer ist an dieser Stelle)
- nun sendest Du dein Formular -> an das selbe php Skript auf dem Server
- Dein Skript holt die Daten für das select Form Element aus der DB und sendet es an deinen Browser. (inklusive deiner $_POST Variablen, welche NUN mit den Formular Daten gefüllt ist)
Du hast also keinen Controller der prüft welche Aktion genau ausgeführt werden soll. simples Beispiel:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
// Controller:
if (!empty($_POST)) {
// do something like saveing in DB
}
// get data for View
// View:
// Formular anzeigen
ausgewälte Daten aus dem Listenfeld ausgeben. Leider weiß ich nicht wie?
1
2
3
4
5
2
3
4
5
if (!empty($_POST) && isset($_POST['wahl']) ) {
// Auswahl abfragen aus DB und anzeigen
} else {
// nur das Auswahlformular anzeigen
}

Hallo,
folgendes läuft schon mal falsch:
Zeile 15: action ist leer. Wo soll das teil hingeschickt werden?! Immer(!!!) ausfüllen
Zeile 16:
Warum vergibst du hier keinen Namen? Option ist ein Kind-Element von select. Wenn du mehrere option-Elemente hast, überprüfst du das ausgewählte, in dem du das Elternelement (in diesem Fall Select) abfragst. Ergo: Du gibst select den Namen "wahl" und nimmst den Namen "wahl" vom Option-Element raus. Das hat da nichts zu suchen!
Zeile 22:
Wie bereits erwähnt: Nimm hier den Namen 'wahl' weg und lösche das Attribut "name" komplett. Außerdem solltest du bei DB-Abfragen nicht mit dem Array-Index arbeiten, da du hier auch gehörig auf die Nase fallen kannst, wenn du was an der Query änderst. Nimm den Feldnamen - z.B. $row['name']
Zeile 28:
Wird beim ersten Aufruf OHNE POST-Werte leer sein. Wie mein Vorredner schon sagt, du verstehst, so denke ich auch, die Interaktion nicht korrekt.
Generell: Lies dir doch bitte einmal die Tutorials durch, die ich dir schon in diversen Postings ans Herz gelegt habe. Es hilft dir und uns nichts, wenn du bei jeder Kleinigkeit (Sorry, das sind wirklich absolute Kleinigkeiten) hier eine Frage aufmachst.
Gruß,
Florian
folgendes läuft schon mal falsch:
Zeile 15: action ist leer. Wo soll das teil hingeschickt werden?! Immer(!!!) ausfüllen
Zeile 16:
1
echo '<select name="" size="1">';
Zeile 22:
1
echo '<option name="wahl" value="' .$row[3]. '">' .$row[3]. '</option>';
Zeile 28:
1
echo $_POST['wahl'];
Generell: Lies dir doch bitte einmal die Tutorials durch, die ich dir schon in diversen Postings ans Herz gelegt habe. Es hilft dir und uns nichts, wenn du bei jeder Kleinigkeit (Sorry, das sind wirklich absolute Kleinigkeiten) hier eine Frage aufmachst.
Gruß,
Florian