Foros del Web » Programando para Internet » PHP »

Problema al mostrar el pais

Estas en el tema de Problema al mostrar el pais en el foro de PHP en Foros del Web. Hola, tengo una pagina con un registro de usuarios en el cual los usuarios eligen su pais, y en otra partre de la pagina ellos ...
  #1 (permalink)  
Antiguo 08/01/2011, 17:25
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Pregunta Problema al mostrar el pais

Hola, tengo una pagina con un registro de usuarios en el cual los usuarios eligen su pais, y en otra partre de la pagina ellos podrian modificar sus datos, quiero que aparesca en un desplegable el pais que ellos ya eligieron, se como hacer para que aparezca, pero el problema es que se repite, por ejemmplo, el usuario tiburcio se registro eligiendo francia en el desplegable de registro, y quiere modificar sus datos porque se equivoco, en el desplegable de la parte donde se modifican los datos aparece seleccionado francia como el pais, pero en la lista aparece francia dos veces ya que tomo todos los paises de la base de datos y francia.

¿Alguien puede orientarme en el tema?

P.D:Como podria hacer para que me muestre en vez de la id del pais el nombre del mismo?

Tengo las siguientes tablas:

Usuarios
id
pais
id_pais

Pais
id_p
nombre

es decir, en el desplegable en vez de aparecerme por ejemplo francia me aparece la id 3 que es la de francia.
  #2 (permalink)  
Antiguo 08/01/2011, 18:27
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: Problema al mostrar el pais

Código PHP:
Ver original
  1. $ssql=mysql_query("select * from usuarios,Pais where id_pais=id_p");
  2. $row=mysql_fetch_assoc($ssql);
  3.  
  4. echo "Pais: ".$row['nombre'];

asi interrelacionas tablas de una base de datos. Lo otro para no tener paises repetido es mejor tener una tabla con los paises ya determinada y asi evitas la duplicacion de datos.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #3 (permalink)  
Antiguo 09/01/2011, 19:53
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problema al mostrar el pais

Cita:
Iniciado por bocho0610 Ver Mensaje
Código PHP:
Ver original
  1. $ssql=mysql_query("select * from usuarios,Pais where id_pais=id_p");
  2. $row=mysql_fetch_assoc($ssql);
  3.  
  4. echo "Pais: ".$row['nombre'];

asi interrelacionas tablas de una base de datos. Lo otro para no tener paises repetido es mejor tener una tabla con los paises ya determinada y asi evitas la duplicacion de datos.
Eso ya lo se, alguien que me de una solucion?
La verdad es que ya he ttratado de todas formas y no he conseguido nada....
  #4 (permalink)  
Antiguo 09/01/2011, 19:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema al mostrar el pais

La idea es que generes tu desplegable desde la tabla pais, y solamente le agregues la opción de selected="selected" a la opción que quieres preseleccionar.

En las FAQs de este foro, puedes ver ejemplos de como realizarlo.

Saludos.
  #5 (permalink)  
Antiguo 09/01/2011, 20:09
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problema al mostrar el pais

Hola, que tal?
Tengo un problema para mostrar los datos de los usuarios que se registran en mi web...

Tengo las siguientes tablas

Registro
id
nombre
usuario
password
id_pais


Pais
id_p
nombre_pais

Cuando quiero ver los datos de algun usuario se ven todos correctos menos PAIS, ya que uso una tabla aparte

Uso dreamweaver para trabajar en esto, y el codigo que se genera es asi:

Código PHP:
mysql_select_db($database_conn$conn); 
$query_datosusuario sprintf("SELECT * FROM registro WHERE Usuario = %s"GetSQLValueString($colname_datosusuario"text")); 
$datosusuario mysql_query($query_datosusuario$conn) or die(mysql_error()); 
$row_datosusuario mysql_fetch_assoc($datosusuario); 
$totalRows_datosusuario mysql_num_rows($datosusuario); 
He leido que tengo que agregar algo como esto en el SELECT

Código PHP:
'SELECT * FROM registro, pais WHERE registro.Id_pais = pais.Id_p' 
pero no se implementarlo en el codigo que genera dreamweaver...
Intente de diversas formas pero o no me muestra ningun nombre de pais, o me muestra la id del pais y no el nombre, etc

Alguien me podria ayudar a solucionar este problema?
He buscado e intentado todo lo que se me ocurrio pero sigo sin poder visualizar el pais de cada usuario...

Espero sus respuestas y muchas gracias desde ya.



__________________________________________________ ______________

Cita:
Iniciado por bocho0610 Ver Mensaje
ya te habia respondido en el otro tema, no se porque tienes que abrir un nuevo hilo con el mismo problema, y te puse que en el row llamas al nombre del pais desde la tabla pais, las consultas las hice acorde a tu base de datos, si no las entendiste tienes un serio problema de normalizacion =/

El que tiene problema serio sos vos, no se si no sabes leer o es que simplemente no podes "procesar" la informacion y entender lo que estas leyendo.
Ya habia dicho que se como hacer eso y encima respondiste cualquier cosa a lo que habia preguntado.

Por empezar, ya tengo una tabla con los paises y se relacionar tablas, lo que pregunto ahora no es lo mismo que en el otro tema.

Al final ya no se lo que quieren, he visto muchos usuarios que se quejan porque abren otro tema para preguntar algo diferente, pero otros preguntan varias cosas en un mismo tema y tambien se quejan porque no abren nuevos temas preguntando...



__________________________________________________ ____________


Ya que me borraron el otro tema que abri gracias a un fulano, pregunto esto aca...
Lo del desplegable ya lo solucione, quiero saber ahora como mostrar el bendito PAIS....



  #6 (permalink)  
Antiguo 09/01/2011, 20:25
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: Problema al mostrar el pais

Cita:
Iniciado por Pury Ver Mensaje
es decir, en el desplegable en vez de aparecerme por ejemplo francia me aparece la id 3 que es la de francia.
eso es del primer post y eso fue lo que te respondi, porque llamas a tu tabla usuarios, pero ahi te muestra el id del pais que eligio y yo te di una respuesta a esa pregunta para que mostrara el nombre del pais y no el id.

ahora para mostrar el pais que registro hace como lo dice gatorv:

Código PHP:
Ver original
  1. <?$ssql=mysql_query("select * from paises");?>
  2. <select name='pais'>
  3. <?while($row=mysql_fetch_assoc($ssql)){?>
  4. <option value='<?echo $row['id_pais']?>' <?if($row['id_pais']==$_SESSION['id_pais_usuario']){echo "selected";}?>><?echo $row['nombre_pais']?></option>
  5. <?}?>
  6. </select>

como el tipo se registro y post logueo, asi obtengo el id del pais que eligio el usuario.. ahora si no se loguea nada mas tendrias que arreglar la consulta, pero algo mas o menos asi seria.

si no te funciona o no te sirve me comentas para ejemplificarte el ejemplo. Ahora aca en chilito es arto tarde y mañana empieza la jornada laboral D:
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #7 (permalink)  
Antiguo 09/01/2011, 21:11
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problema al mostrar el pais

Dejando de lado el desplegable, ahora me toma el nombre del pais pero del usuario de la primera ID

Es decir, tengo los siguientes registros:

Id----------------1
Nombre---------Lala
Id_Pais----------13 (que corresponde a Argentina)

Id-----------------2
Nombre----------Lolo
Id_Pais----------17 (que corresponde a Australia)


y cuando el usuario Lolo se loguea y ve sus datos le aparece asi:

Nombre: Lolo
Pais: Argentina


Los codigo que utilizo los puse mas arriba, seguire probando a ver si encuentro alguna solucion

gracias
  #8 (permalink)  
Antiguo 09/01/2011, 22:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema al mostrar el pais

Tu query esta mal con que sea un SELECT simple, y luego uses un código similar a bocho0610 debería de mostrarte el pais del usuario actual.

Saludos.
  #9 (permalink)  
Antiguo 10/01/2011, 09:11
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problema al mostrar el pais

Hola, ya intente con un codigo como el que me pasaron pero sigue igual...
Si quiero mostrar todos los usuarios con sus respectivos paises anda bien, el tema es quiero que cuando un usuario se loguee pueda ver el pais que eligio cuando se registro, pero
siempre me toma el pais del primer usuario...

Sigo sin saber que poder hacer, por mas que intento y busco no encuentro una solucion...
Gracias por responder
  #10 (permalink)  
Antiguo 10/01/2011, 10:18
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 10 meses
Puntos: 26
Respuesta: Problema al mostrar el pais

primero segun mi logica no toma el pais del primer usuario, si no el primer pais que se registro, o si esta ordenado de forma asc. Mira cuando el usuario se loguea se crean variables de sesion que es expanden por todo el sitio, y es ahi donde sacas el id del pais del usuario:

loguin.php
Código PHP:
Ver original
  1. $ssql=mysql_query("select * from usuarios where usuario='".$usuario."'");
  2. $row=mysql_fetch_assoc($ssql);
  3.  
  4. if($row['usuario']==$usuario and $row['pass']==$pass]){
  5. $_SESSION['user]=$row['usuario'];
  6. $_SESSION['pass']=$row['pass'];
  7. $_SESSION['pais']=$row[id_pais];
  8. $_SESSION['otrodato']=$row['otrodato'];
  9. header("Location: pagina_de_logueados.php");
  10. }else{
  11. echo "Sus datos son erroneos";
  12. }
  13. ?>


pagina_de_logueados.php
Código PHP:
Ver original
  1. $ssql=mysql_query("select * from paises");?>
  2. <select name='pais'>
  3. <?while($row=mysql_fetch_assoc($ssql)){?>
  4. <option value='<?echo $row['id_pais']?>' <?if($row['id_pais']==$_SESSION['pais']){echo "selected";}?>><?echo $row['nombre_pais']?></option>
  5. <?}?>
  6. </select>

no olvides poner los datos de conexion, y si estas recien empezando es bueno usar dreamweaver, pero no abuses, ya que como el programa genera todo el codigo a las finales no entenderas nada y seras un dependiente del programita, usa notepad++ o simplemente bloc de notas.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #11 (permalink)  
Antiguo 10/01/2011, 14:01
 
Fecha de Ingreso: julio-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Problema al mostrar el pais

He intentado de todas maneras y aun no tengo una solucion, gracias por aportar tu codigo, ya lo habia probando y no hay manera...
Uso dreamweaver solo para practicar e ir conociendo de a poco, no es que me quedare con el de por vida...
En fin, creo que mejor cambiare de idea e introducire el pais solo en un campo de texto, al menos hasta que encuentre la manera...

Muchas gracias a todos por colaborar

Saludos.

Etiquetas: conexion, desplegable, mysql, pais
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 22:26.