Hinter dem Leerzeichen verschwindet alles

Schandmaul_Muenche

Grünschnabel
Hallo ich bin neu hier und hoffe das ihr mir helfen könnt.
Ich habe folgendes Problem, ich will mir meine Daten aus meiner Mysql DB in eine Mehrfachauswal sprich <select> .. <option> ausgeben lassen das geht auch ganz gut mit folgendem code:

<form action="suchetest.php" method="POST">
<select name="sortfirma">
<option>&nbsp;Hier nach Firmen suchen:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
<?php
include 'function.ini';
connect ($connect);
$sql = "SELECT Firma FROM kunde GROUP BY Firma";
$result = mysql_query($sql);
while ($firma = mysql_fetch_array($result))
{
print ("<option value=" . $firma[0] . ">" . $firma[0] . "</option>");
}
?>
</select>
<input type="submit" value=" Absenden "></input>
</form>

Nun ist mein Problem das ich eine Auswahl treffen möchte und diese durch ein erneutes Form zur Detail suche verwenden will, die bitter phöse Maschine hier schneidet mir aber nach drück auf den Submit-Button alles nach dem ersten Wort ab, sprich wenn der Datensatz "Deutsches Museum Muenchen" lautet dann bekommt das <form> nur "Deutsches" rüber geschickt.
Ich schätze mal es ist was ultra simples und ich bin im mom nur zu blöd aber über hilfreiche Antworten würde ich mich freuen.

Liebe Grüße

Toni
 
Ich denke das ist nur ein Quoting Problem.
Ändere mal folgende Zeile:
PHP:
print ("<option value=" . $firma[0] . ">" . $firma[0] . "</option>");

In das um:
PHP:
print ('<option value="' . $firma[0] . '">' . $firma[0] . '</option>');

Bei deinem Code wird nämlich folgendes HTML Source erstellt:
HTML:
<option value=Deutsches Museum München>Deutsches Museum München</option>
Der Wert von Value ist nicht in "" eingeschlossen und der Browser kann somit nichts damit anfangen.
 
PHP:
				while ($firma = mysql_fetch_array($result))
				{
				print ("<option value=" . $firma[0] . ">" . $firma[0] . "</option>");
				}


Du hast nur einmal Anführungszeichen vergessen:
PHP:
while ($firma = mysql_fetch_array($result))
				{
				print ("<option value=' " . $firma[0] . " '>" . $firma[0] . "</option>");
				}

So sollte es funktionieren!! Du musst nur noch die Leerzeichen zwischen " und ' löschen die ich hier zu Verdeutlichung gemacht habe!

edit: da war wohl wer schneller...
 
Noch besser:
PHP:
while( $firma = mysql_fetch_array($result) ) {
	echo '<option value="'.htmlspecialchars($firma[0]).'">'.htmlspecialchars($firma[0]).'</option>';
}
 
Zurück