HTML y PHP

Estoy haciendo una web y en una página HTML tengo un control de tipo SELECT donde se deben cargar los nombres de los trabajadores de una base de datos. Para eso tengo que hacer una consulta a la base de datos en PHP embedido dentro del código HTML.
Bien, el caso es que me lo hace bien, pero al coger la variable asociada a ese control en otra página sólo me coge el nombre hasta el primer espacio en blanco.
El código es el siguiente:
<?
$busq=mysql_query("SELECT * FROM Trabajadores", $db);
while ($rec=mysql_fetch_array($busq))
{
$opt=$opt."<option value=".$rec["Nombre"].">".$rec["Nombre"]."</option>\n";
}
?>
<select size="1" name="nombretrab">
<? Echo"$opt"?>
</select>
En la página inicial me carga los nombres al completo, pero al hacer el submit y cargar la página siguiente sólo me muestra la primera palabra.
¿Cómo puedo hacerlo para que me muestre el nombre completo?
Gracias

1 Respuesta

Respuesta
1
Intenta sustituir la linea:ç
$opt=$opt."<option value=".$rec["Nombre"].">".$rec["Nombre"]."</option>\n";
}
por esta otra:
$opt=$opt."<option value='".$rec["Nombre"]."'>".$rec["Nombre"]."</option>\n";
}
Fíjate bien en la comillas simples que he añadido. Al no poner comillas, el código html generado sería así...
<OPTION value=Perico de los Palotes>Perico de los Palotes</OPTION>
... con lo que el "value" se queda solo con "Perico".
Al introducir esas comillas simples obligas a que el código HTML generado sea el siguiente...
<OPTION value='Perico de los Palotes'>Perico de los Palotes</OPTION>
... y el valor referenciado será el nombre completo (todo lo que haya dentro de las comillas).
Creo que es lo que buscas, ¿no?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas