Foros del Web » Programando para Internet » PHP »

Lista desplegable tomada de db

Estas en el tema de Lista desplegable tomada de db en el foro de PHP en Foros del Web. Hola, estoy intentando poner en uno de los campos del formulario, una lista desplegable formada por todas las provincias del pais que seleccione anteriormente, como ...
  #1 (permalink)  
Antiguo 27/02/2008, 04:48
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Lista desplegable tomada de db

Hola, estoy intentando poner en uno de los campos del formulario, una lista desplegable formada por todas las provincias del pais que seleccione anteriormente, como actualmente me estoy centrando en españa, simplemente hago la consulta sobre el nombre de las provincias de españa, se me crea el select en el formulario, pero no me aparece ninguna opcion, a ver si podeis echarme una mano viendo el codigo que he puesto, que lo he sacado de una pregunta similiar que hizo por aqui un compañero...

Código PHP:
    <select name="provincia">
    <?
    $conexion 
conectar("localhost","root","","golftdb");
    
$sql mysql_query("SELECT nombre FROM provincias WHERE 1",$conexion);
        
$resultado mysql_query($sql,$conexion) or die (' Error en la consulta: '.mysql_error());
    while (
$linea mysql_fetch_array($resultado)){
        
    echo 
"<option value=\"".$linea[0]."\">".$linea[1]."</option>\n";
    
        }
    
?>
    </select>
Gracias de antemano...
  #2 (permalink)  
Antiguo 27/02/2008, 06:18
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: Lista desplegable tomada de db

Hola manguiti,
Mirate la diferencia de usar mysql_fetch_row y mysql_fetch_array

y para ahorrarte problemas a la hora de mostrar el texto usa htmlentities

Tambien veo q llamas a la funcion conectar - supongo q eso lo tendras bien implementado?
y bueno - en tu consulta solo incluyes un nombre (SELECT nombre FROM...) entonces cuando muestres $linia[0] te mostrara el nombre - pero $linia[1] no tiene valor.

si tuvieras Select id,nombre from provincias
id - sera el 0
nombre - sera el 1


Código PHP:
<select name="provincia"> 
    <? 

    $conexion 
mysql_connect("localhost","root","","golftdb")or die ("Error de connexión: host/user/pass incorrecto"); 
    
//tu Base de datos
    
$sql_db         "nombredetuBasedeDatos";
    
$p_base mysql_select_db($sql_db,$conexion) or die ("Error de connexión: base de datos incorrecta");
    
$sql "SELECT id,nombre FROM provincias"
        
$resultado mysql_query($sql,$conexion) or die (' Error en la consulta: '.mysql_error()); 
    while (
$linea mysql_fetch_row($resultado)){ 
         
    echo 
"<option value=\"".$linea[0]."\">".htmlentities($linea[1])."</option>\n"
     
        } 
    
?> 
    </select>
Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 29/02/2008 a las 03:14
  #3 (permalink)  
Antiguo 29/02/2008, 03:06
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: Lista desplegable tomada de db

Hola de nuevo, trato de hacerlo como me comentas, pero sigo sin recibir nada en el option, el problema creo que es que no entra en el while, porque si pongo un echo "<option value".... antes de entrar en el while si aparece, solo una opcion, pero aparece...pero si meto esa misma sentencia dentro del while, no aparece...la funcion conectar esta bien implementada ya que la utilizo en otras funciones y no me da ningun problema, lo que si que la tengo definida en otro archivo, pero si no pudiera utilizarla en este, me daría algun tipo de error no?Ahora mismo la tengo así:

Código PHP:
<select name="provincia">
    <?
    
    $conexion 
conectar("localhost","root","","golftdb") or die ('ERROR DE CONEXION');
    
$sql mysql_query("SELECT idprovincias,nombre FROM provincias WHERE 1",$conexion);
        
$resultado mysql_query($sql,$conexion) or die (' Error en la consulta: '.mysql_error());
    while (
$linea mysql_fetch_row($resultado)){
    
    echo 
"<option value=\"".$linea[0]."\">".htmlentities($linea[1])."</option>\n";
        
        }
    
?>
    </select>
A ver si podeis darme algun consejillo....gracias anticipadas!!
  #4 (permalink)  
Antiguo 29/02/2008, 03:10
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 2 meses
Puntos: 49
Re: Lista desplegable tomada de db

WHERE 1

????? que mas...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 29/02/2008, 03:12
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: Lista desplegable tomada de db

Ya esta...supuestamente así coge todas los registros de las columna nombre e idprovincias no??...así al menos me toma bien la consulta si la hago en phpmyadmin...
  #6 (permalink)  
Antiguo 29/02/2008, 03:13
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: Lista desplegable tomada de db

Hola de nuevo
Código PHP:
<?
$conexion 
mysql_connect("localhost","root","","golftdb")or die ("Error de connexión: host/user/pass incorrecto");  
//tu Base de datos 
$sql_db "nombredetuBasedeDatos"
$p_base mysql_select_db($sql_db,$conexion) or die ("Error de connexión: base de datos incorrecta"); 
$sql "SELECT id,nombre FROM provincias";  
$resultado mysql_query($sql,$conexion) or die (' Error en la consulta: '.mysql_error());  
//Miramos si al Query devuelve resultados
$nreg_query mysql_num_rows($resultado);
if(
$nreg_query!=0){
//Si es diferente de 0, hay resultados por lo tanto imprimimos la lista
?>
<select name="provincia">  
    <?  
    
while ($linea mysql_fetch_row($resultado)){  
          
    echo 
"<option value=\"".$linea[0]."\">".htmlentities($linea[1])."</option>\n";  
      
        }  
    
?>  
    </select> 
<? } else{
//si es = a 0 imprimimos q no hay resultados
echo "No hay resultados"
?>
a ver si se ta mejor asi

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 29/02/2008, 03:24
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: Lista desplegable tomada de db

Muchisimas gracias, eres un crack tio...estoy empezando con php y me quedo atascado más de lo que me gustaría, pero gracias a ustedes estan solventando mis problemas, y de paso, enseñandome como se hacen las cosas...una vez más gracias!
  #8 (permalink)  
Antiguo 29/02/2008, 05:01
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: Lista desplegable tomada de db

Por cierto, ahora estoy intentando enlazar dos listas, la de paises, para que dependiendo del pais que seleccione, aparezcan las ciudades de éste, de momento solo quiero que me lo haga con las ciudades de españa, porque la de los demás paises que las introduzcan en un textbox, o sea, si el pais que selecciona es españa, que aparezca el otro select, y si no lo es, que aparezca el textbox, tengo la duda de que no se pasarle el valor del select del pais elegido si no es enviando el formulario, o sea, con el evento onchange, hacer el submit, pero no se si se puede hacer de otra manera, ya que así me "corrige" los errores al hacer el envio....podeis echarme una mano??
gracias!!
  #9 (permalink)  
Antiguo 01/03/2008, 13:36
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 2 meses
Puntos: 49
Re: Lista desplegable tomada de db

para ello puede ocupar ajax haci no recarga la pagina y pierde los datos del formulario al traer el otro combo, una ayuda, por que yo tambien pase por ello hace tiempo ;)

http://php.novacreations.net/viewtopic.php?t=53
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #10 (permalink)  
Antiguo 03/03/2008, 10:03
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 17 años, 5 meses
Puntos: 7
Re: Lista desplegable tomada de db

Muchas gracias amigo!!Me ha servido de gran ayuda!!
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 14:43.