Auswahlliste mit Daten aus Datenbank füllen

evoleena

Erfahrenes Mitglied
Hallo Ihrs

Komme mal wieder nicht weiter!
Ich habe ein Formular in dem es mehrere Auswahllisten gibt. Gut versuche aber gerad mal eine hinzubekommen!

In der Auswahliste soll mit hilfe eines SelectBefehls Daten ausgelesen und darin zur Auswahl u verfügung stehen. aber irgendwie funtz das bei mir nicht!

Bisher sieht mein Quelltext so aus

Code:
<option>"; 
$result = mysql_query ('SELECT ansp_name, name from gast order by name', $link);
echo"</option></select></td>

Kann mir jemand sagen wie es richtig sein muss?
 
Nein, das ist so wie du es geschrieben hast nicht richtig.

Es reicht nicht einfach nur eine Abfrage an die Datenbank zu schicken,
das Ergebniss muss auch noch ausgelesen werden.

PHP:
#Es ist besser die SQL Abfrage in einer eigenen Variable zu speichern
#(der Übersichtlichkeit wegen)
$sql = 'SELECT ansp_name, name FROM gast ORDER BY name';
$result = mysql_query ($sql);

#Wenn du bei Echos ' statt " benutzt musst du HTML "s nicht mehr escapen
echo '<select name="test">';

#Dies ist die Schleife die die einzelnen Einträge der Tabelle durchläuft
#und jeweils eine Zeile in ein Array füllt. 
while($array = mysql_fetch_assoc($result))
{
 #Wusste jetzt nicht welche der beiden Spalten das Label ist das in einem
 #DropDown Feld angezeigt wird, im Zeifelsfalle austauschen.
 #Einfach nur den richtigen Namen bei XXX eintragen : $array['XXX']
 echo '<option value="'.$array['name'].'">'.$array['ansp_name'].'</option>';
}

echo '</select></td>';

Hoffe es hilft.

Hilfreiche Seiten :
[phpf]mysql[/phpf]
 
#Wenn du bei Echos ' statt " benutzt musst du HTML "s nicht mehr escapen

Damit hast du mich jetzt völlig durcheinander gebracht!

Wie muss ich das dann hier veranstalten

PHP:
$sql = mysql_query 'SELECT name FROM gast WHERE name='".$name."'';
if (mysql_num_rows($sql) = 0)
 {
	echo'Kein Gast gefunden!';
}
 
Innerhalb eines Strings mit einfachen Hockommas ' musst du aber die Einfachen hochkommes escapen, also folgernder massen

PHP:
$sql = mysql_query('SELECT name FROM gast WHERE name=\''.$name.'\''); 

//oder

$sql = mysql_query("SELECT name FROM gast WHERE name='$name'");

Das Escapen also mit einem \ davor heisst nur das dieses Zeichen nicht das Ende des Strings kennzeichnet. So musst du in einem String mit ' logischerweise ' escapen wenn du es dort zum "Anzeigen" verwenden willst. Gleiches gilt wenn du in einem String mit " auch " verwenden willst:
echo "Jetzt zeige ich ein\" an";
echo 'Jetzt zeige ich ein \" an";
echo "Wegen der \" brauche ich die ' nicht zu escapen";
echo 'Wegen der \' brauche ich die " nicht zu escapen';

Bei Strings in ' ist jedoch zu beachten, das Variablen nicht "aufelöst werden;

echo ' $test '; gibt $test aus.
echo " $test "; gibt den Inhalt der Varibale $test aus.

Workaraound: echo 'Jetzt gebe ich den Inhalt der Variable aus: '.$test;


Alle Unklarheiten beseitigt?
 
Zurück