Problemas con los espacios

Estoy desarrollando una web en php y mysql y estoy teniendo muchos problemas con los espacios. Es decir, realizo una consulta a la base de datos y esta que devuelve el valor "la casa".
Para visualizar estos resultados los quiero meter en cajas de texto y pongo :
echo "<input name="descripcion" type="text" value=".mysql_result($result, $num, "descripcion")." >";
Pues cuando ejecuto la consulta la caja de texto pone "la". Cuando encuentra el espacio ignora el resto.
También tengo problemas al pasar con el método get los parámetros si estos tienen espacio. Por lo mismo, paso "la casa" y la página solo recibe la y desprecia el resto de parámetros.
Mi pregunta era por la existencia de alguna función al igual que en javascript tenemos encodeURI por si en php se puede hacer algo parecido. O si alguien me da una solución.

1 Respuesta

Respuesta
1
A ver, empezamos por el final. En php hay un grupo de funciones que codifican de modo similar a encodeURI. Concretamente las funciones son urlencode(string) y rawurlencode(string). Para el método GET, es suficiente con la primera que te señalo.
Ahora el asunto de mysql. Yo he programado páginas y formularios basados en PHP-MySQL y nunca he tenido ese problema de los espacios. Pero yo, normalmente, en lugar de utilizar la función mysql_result que recoge el valor de una CELDA de los resultados de la consulta, prefiero utilizar...
$sqlquery="SELECT * FROM nombretabla";
$result=mysql_query($sqlquery);
y ahora recorro toda la matriz resultante de registro en registro...
while($row=mysql_fetch_assoc($result))
{
....
echo "<input name='descripcion' type='text' value='".$row['descripcion']."'>";
....
}
Este sistema nunca me ha dado ningún problema.
Aún así, deberías revisar en tu código el uso de comillas simples y dobles. Reescribe esa parte del código que te da problemas colocando las comillas simples o dobles EXACTAMENTE donde yo las te las pongo:
echo "<input name='descripcion' type='text' value='".mysql_result($result, $num, "descripcion")."' >";
Porque si no delimitas el campo value correctamente, el navegador interpreta el espacio como final de definición.
Espero que te haya servido convenientemente el rollo que te acabo de soltar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas