Foros del Web » Programando para Internet » PHP »

Parametro desde formulario a página (PHP)

Estas en el tema de Parametro desde formulario a página (PHP) en el foro de PHP en Foros del Web. Buenos dias a todos! Antes de nada quiero agradecerles su colaboración... Mi problema es el siguiente: Dispongo que un formulario unicamente para realizar consultas sobre ...
  #1 (permalink)  
Antiguo 14/05/2009, 05:18
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Pregunta Parametro desde formulario a página (PHP)

Buenos dias a todos!

Antes de nada quiero agradecerles su colaboración...

Mi problema es el siguiente:

Dispongo que un formulario unicamente para realizar consultas sobre una base de datos.

Bien, la busqueda dentro de ese formulario se puede realizar por 3 campos:
nombre, universidad y carrera.

En principio la consulta esta pensada para poder filtra por cada uno de los campos por separado, o por los 3 a la vez, o por los que se deseen.

2 de estos campos son elegidos a través de una lista desplegable que es rellenada desde la base de datos:

Código PHP:
<form action="students.php" method="post" >
                <fieldset>
                    <legend>SEARCH OPTIONS</legend>
                    By Name:&nbsp;<input type="text" name="parameter" size="20" />

                    By College:&nbsp;<select name="colleges" id="colleges">
                        <option selected value="">Select college</option>
                        <?php while ($rowcol mysql_fetch_array($collist))
                        {
                        
?>
                        <option value=<?PHP echo $rowcol['col_name'];?>><?PHP echo $rowcol['col_name'];?></option>
                        <?
                        
}
                        
?>
                        </select>
                        <br/>

                    By Study:&nbsp;&nbsp;<select name="studies" id="studies">
                        <option selected value="">Select study</option>
                        <?php while ($rowsy mysql_fetch_array($sylist))
                        {
                        
?>
                        <option value=<?PHP echo $rowsy['sy_name'];?>><?PHP echo $rowsy['sy_name'];?></option>
                        <?
                        
}
                        
?>
                        </select>
                    <input type="submit" name="go" value="Search" />
                </fieldset>
            </form>
Mi problema reside en que cuando selecciono un campo de las listas desplegables, por ejemplo, el parametro "studies", solo lee o solo envia el contenido de -value- hasta que llege al primer espacio.

Como la mayoria de los estudios que se pueden seleccionar empiezan por la palabra "Postbachellor" el filtro no actua correctamente.

Como puedo hacer para que la variable tome el valor completo de dicho "value" desde la primera letra hasta la ultima incluso conteniendo espacios?

No se si es problema de la recogida de la variable o si es problema del paso de la variable!

Un saludo a todos y de nuevo gracias pos su colaboración!!!
  #2 (permalink)  
Antiguo 14/05/2009, 05:28
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Parametro desde formulario a página (PHP)

pues vamos a ver... un value con espacios no creo que te lo tome, mas que nada porque los values suelen ser numericos, yo haria lo siguiente.

a los values ponles guiones bajos "_" y en la recuperacion del parametro trata la cadena modificando el "_" por " "

es decir $_POST["campo"] = ereg_replace("_"," ",$_POST["campo"]);

un saludo.
  #3 (permalink)  
Antiguo 14/05/2009, 05:51
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Parametro desde formulario a página (PHP)

El valor del atributo value debe ir entrecomillado. Es decir, tienes que cambiar esto:
Código PHP:
<option value=<?PHP echo $rowcol['col_name'];?>>
Por esto:
Código PHP:
<option value="<?PHP echo $rowcol['col_name'];?>">
Y esto:
Código PHP:
<option value=<?PHP echo $rowsy['sy_name'];?>>
Por esto:
Código PHP:
<option value="<?PHP echo $rowsy['sy_name'];?>">
  #4 (permalink)  
Antiguo 14/05/2009, 05:53
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: Parametro desde formulario a página (PHP)

Gracias gdecaceresr!

Voy a intentarlo pero tengo un problema, si te fijas en el codigo, el "value" lo va tomando a través de un -while- y obteniendo el valor desde la base de datos...

Eso supone que al recogerlo tengo que modificarle a esa cadena los espacios en blanco por "_" y despues asignarlo al value...?

Despues cuando me hayan elegido una opcion de esa lista, tengo que volver a tratar la cadena para dejarla como estaba... no?
  #5 (permalink)  
Antiguo 14/05/2009, 05:56
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Parametro desde formulario a página (PHP)

Prueba con lo de ryo que no habia visto lo de las comillas en tu value

y si haces lo que me comentas:
1º claro, en la recuperacion de la BD tienes que reemplazar el blanco por el _ y luego al reves,

Aun asi aconsejo siempre los values numericos
  #6 (permalink)  
Antiguo 14/05/2009, 05:56
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Parametro desde formulario a página (PHP)

Yo he usado el atributo value con espacios mil veces sin ningún problema. El mayor problema que veo es lo que te he dicho, que le faltan las comillas.
  #7 (permalink)  
Antiguo 14/05/2009, 05:57
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: Parametro desde formulario a página (PHP)

Vaya esto es rapided!!!

Muchisimas gracias Ryo. problema resuelto... al entrecomillar los -values- se obtiene el valor completo que se obtubo de la base de datos!

Gracias de nuevo, y sobre todo por la rapided en las respuestas... asi da gusto!!
  #8 (permalink)  
Antiguo 14/05/2009, 06:00
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Parametro desde formulario a página (PHP)

Oui Ryo si problema no da, pero si el chico basa luego la aplicacion en multidioma la lias parda, intentemos aconsejar las buenas maneras :)

Si puede ser claro.

Me alegro que este todo ok tokero, un saludo.
  #9 (permalink)  
Antiguo 14/05/2009, 06:13
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Parametro desde formulario a página (PHP)

Cita:
Iniciado por gdecaceresr Ver Mensaje
Oui Ryo si problema no da, pero si el chico basa luego la aplicacion en multidioma la lias parda, intentemos aconsejar las buenas maneras :)

Si puede ser claro.

Me alegro que este todo ok tokero, un saludo.
Yo lo digo porque dabas a entender que los values están para valores numéricos únicamente y que entonces era normal que diera problemas con palabras, sobre todo si había espacios. Luego ya que haya cosas que le convengan más o menos según cuáles sean sus necesidades es otra historia, pero no era eso lo que había entendido en tu primer mensaje...

Me alegro de que se haya solucionado, tokero ;)
  #10 (permalink)  
Antiguo 14/05/2009, 06:24
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: Parametro desde formulario a página (PHP)

Haya Paz!!! jejejeje

Gracias a los dos por la ayuda... lo importante es que ahora puedo avanzar!!
Va una de Karma pa los dos!

Y muchas gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.