php - dropdown

mcnewbie

mcnewbie

Aktives Mitglied
Thread Starter
Dabei seit
09.08.2004
Beiträge
1.236
Reaktionspunkte
5
moin... hab ein kleines (denk)problem ... hab ein formular gebaut zur benutzerregistrierung - unter anderem muss auch das land ausgewählt werden, welches aus der datenbank kommt:

PHP:
while($row=mysql_fetch_assoc($result))
	{
	
	  echo '<option value="'.$row['countries_id'].'">'.$row['land'].'</option>';
	
	
	}

wenn der benutzer jetz auf senden klickt, wird die seite neu aufgerufen - hat er jetz irgendwas falsch angegeben, sind in allen feldern die values noch drinnen nur das drop-down ist neu auszuwählen... wie kann ich "ihm" denn sagen, dass er das vorher schon ausgewählte land speichert?

bin für hilfe dankbar! ;)
 
Ich hoffe, ich habe Dich richtig verstanden. Du möchtest wissen, wie man einen bereits zuvor übermittelten Wert in Deiner Select-Box wieder zur Anzeige bringt. Dazu wird der Flag »selected« in dem HTML-Tag »OPTION« verwendet, was bewirkt, dass ein bestimmter Wert vorausgewählt wird. Ob der betreffende Wert zuvor gewählt wurde oder nicht, sagt Dir das superglobale Array $_POST (oder $_GET, je nach Übermittlungsmethode des Formulars).

Ein Beispiel, wobei ich annehme, dass Du das Formular mit $_POST übermittelst:
PHP:
<?

	function displayForm () {

?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
	<select name="countries_id" size="1">		
<?
	// Schleife zur Ausgabe der Optionen
	
	if ($results = fetchCountries ()) {
		echo "<option value=\"\">Bitte ausw&auml;hlen ...</option>\n";
		while ($row = mysql_fetch_assoc ($results)) {
			printf ("<option value=\"%s\"%s>%s</option>\n"	, $row['countries_id']
															, (($_POST['countries_id'] == $row['countries_id']) ? 'selected' : '')
															, stripslashes (htmlentities ($row['land']))
															);
		}
	} else {
		echo "<option value=\"\">Keine L&auml;nder zur Auswahl.</option>\n";
	}

?>
    </select>
</form>
<?

	}
	
	displayForm();

?>

Ich habe den Code jetzt mal eben runtergetippt und nicht getestet, aber es sollten nur Tippfehler drin sein, wenn überhaupt.

Ich hoffe, es hilft!
 
Zuletzt bearbeitet:
oh vielen dank werd ich morgen probiere - hab grad beschlossen wo zu geben - zu müde heute! ;)
 
so schön, vielen dank nochmal, das hat mal funktioniert! jetz hab ich ein neues problem wo ich nicht weiterkomme....

hab ein formular mit 4 textfeldern, der inhalt von denen wird dann in eine tabelle in die datenbank geschrieben - konkret wird ein neues seminar erstellt... jetz hätt ich gerne, dass er mit dem eintrag in die datenbank auch eine neue seite (optimalerweise .php) erstellt und den url in die datenbank hinzuschreibt... url in die db wäre ja klar ... aber wie kann ich dass machen, dass sobald der sendenbutton geklcikt wird, das zeugs in der datenbank steht (soweit geht ja alles ;) ) auf dem server die seite test.php angelegt wird und in der tabelle im url feld test.php steht...

hoff das war verständlich und wiedermal vielen dank für die hilfe! ;) bin noch nicht so "advanced" in php und versuch grad dass halbwegs hinzukriegen mti einem kleinen projekt ;)
 
php.net/manual ist dein freund
 
Andy Macht schrieb:
php.net/manual ist dein freund

wenn ich dort schon schlauer geworden wäre hätte ich nicht gefragt, aber danke! ;)
 
Zurück
Oben Unten