Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP - Auswahl aus Listenfeld ausgeben

Frage Entwicklung PHP

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

22.03.2013, aktualisiert 11:12 Uhr, 2772 Aufrufe, 3 Kommentare

Hi NG,

ich möchte mit folgendem Code:

01.
<?php 
02.
$daten = "adressen"; 
03.
 
04.
$db = mysql_connect ("localhost", "root", ""); 
05.
 
06.
if (!$db) {  
07.
    die('Verbindung schlug fehl: ' . mysql_error()); 
08.
09.
  
10.
$select_db = mysql_select_db($daten);  
11.
 
12.
$sql_befehl = "select * from mitglieder"; 
13.
 
14.
$result = mysql_query($sql_befehl);  
15.
echo '<form method="post" action="">'; 
16.
echo '<select name="" size="1">'; 
17.
echo '<option selected value=""></option>'; 
18.
 
19.
 
20.
while($row = mysql_fetch_array($result)) 
21.
22.
       echo '<option name="wahl" value="' .$row[3]. '">' .$row[3]. '</option>'; 
23.
	}  
24.
echo '</select>'; 
25.
echo '</form>'; 
26.
 
27.
//an der Stelle möchte ich die Auswahl ausgeben. 
28.
echo $_POST['wahl']; 
29.
?>
ausgewälte Daten aus dem Listenfeld ausgeben. Leider weiß ich nicht wie?

Die Code-Tags sind mal wieder verlohren gegangen!

Gruß
Andy
Mitglied: nxclass
22.03.2013, aktualisiert um 10:56 Uhr
... Du scheinst nicht die Interaktion von Client (Browser / HTML) und dem Server (PHP /DB) zu verstehen.

  • 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)
usw.

Du hast also keinen Controller der prüft welche Aktion genau ausgeführt werden soll. simples Beispiel:
01.
// Controller: 
02.
if (!empty($_POST)) { 
03.
   // do something like saveing in DB 
04.
05.
// get data for View 
06.
 
07.
// View: 
08.
// Formular anzeigen
ausgewälte Daten aus dem Listenfeld ausgeben. Leider weiß ich nicht wie?
01.
if (!empty($_POST) && isset($_POST['wahl']) ) { 
02.
  // Auswahl abfragen aus DB und anzeigen 
03.
} else { 
04.
  // nur das Auswahlformular anzeigen 
05.
}
.. so zB.
Bitte warten ..
Mitglied: flow.ryan
22.03.2013 um 11:16 Uhr
Hallo,

folgendes läuft schon mal falsch:

Zeile 15: action ist leer. Wo soll das teil hingeschickt werden?! Immer(!!!) ausfüllen

Zeile 16:
01.
echo '<select name="" size="1">'; 
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:
01.
echo '<option name="wahl" value="' .$row[3]. '">' .$row[3]. '</option>'; 
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:
01.
echo $_POST['wahl']; 
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
Bitte warten ..
Mitglied: AndyAh
26.03.2013 um 10:51 Uhr
Hi,

ich hab's zum laufen.

Gruß
Andy
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst AD-Gruppen Auswahl als Dropdownliste (4)

Frage von Peterz zum Thema Batch & Shell ...

PHP
Rechenoperarionen in PHP (6)

Frage von Yanmai zum Thema PHP ...

Batch & Shell
gelöst Bash Nur Zahlen ausgeben regex (11)

Frage von Marabunta zum Thema Batch & Shell ...

Netzwerke
Auswahl an strahlungsarmen Handys steigt

Link von BassFishFox zum Thema Netzwerke ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...