while() Frage

neopayne

Erfahrenes Mitglied
Hallo,

ich möchte ein Dropdownfeld (select) mit Datensätzen aus meiner SQL-Datenbank füllen. Nur weis ich nicht genau was ich in die Klammer schreiben soll. Da müsst drinnen stehen - nur solange ausführen bis kein Datensatz vorhanden ist.

so hats bei mir nicht geklappt
PHP:
while($data[email]) {
  echo "<option value=".$data[email];
  echo ">".$data[email]."</option>";
}
 
PHP:
echo "<option value=".$data[email]; 
  echo ">".$data[email]."</option>";

so wie ich das sehe ist da ein fehler drin.
sagen wir mal $date[emai] hat den wert hallo dann sehe das in html form doch so aus
Code:
<option value=hallo>
anstatt
Code:
<option value="hallo">

Oder irre ich mich da?
 
du musst das so machen:
PHP:
$sql = mysql_query("SELECT email FROM tabelle");
 // hier die Formtag also <form>und<select>
while($data = mysql_fetch_array($sql)){
echo '<option value='.$data['email'].'>'.$data['email'].'</option>';
}
 
Zuletzt bearbeitet:
Versuchs mal so, ich weiss kein sauberer code aber bei mir haut es hin.

PHP:
 <form action="warenkorb.php?action=insert" method="post">
  
 <select name="mail" size="1">
 		<?
 
 
 
 
 
 echo "<option value=\"" .$data[email] . "\">" .$data[email]. "\r";
 }
 ?>
 		</option>
 	  </select>

Gruezi Nostra
 
habs jetzt so probiert:

PHP:
$data=mysql_query("SELECT * FROM wta_contacts");

while($data=mysql_fetch_array($data)) {
   echo "<option value=".$data[email];
   echo ">".$data[email]."</option>";
}

aber dann wird nur ein Eintrag angezeigt und versteckt im html-Code steht diese Fehlermeldung:

Warnung: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
 
ok ich habs:

PHP:
 $sql=mysql_query("SELECT * FROM wta_contacts");

while($data=mysql_fetch_array($sql)) {
   echo "<option value=".$data[email];
   echo ">".$data[email]."</option>";
}

Die Variablen Namen von mysql_query und mysql_fetch_array dürfen wohl nicht gleich sein!

Vielen Dank an alle
 
Zurück