PHP - Listas actualizables para editar

 
Vista:
sin imagen de perfil

Listas actualizables para editar

Publicado por Pirata (3 intervenciones) el 09/05/2018 06:26:26
problema:
1º guardar.php , registra datos del usuario, entre ellos pais.
2º en editar, me debe salir en formulario (parte del codigo mostrado) el pais del usuario para poderlo modificar. pero no me lo jala, a cambio me sale para seleccionar un pais, como si fuera un usuario nuevo y no uno ya registrado.
espero dejarmen entender y muchas gracias por el aporte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pais: <select name="pais">
    <option>Seleccione un pais</option>
    <?php
        $consulta_pais="SELECT * FROM pais ORDER BY nombre ASC";
        $resultados_pais=$conex->query($consulta_pais);
        foreach ($resultados_pais as $fila_pais) {
    ?>
        <option><?php echo $fila_pais['nombre']; ?></option>
    <?php
        }
    ?>
 
</select><br/>
<br>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Listas actualizables para editar

Publicado por santi (204 intervenciones) el 10/05/2018 02:22:58
Hola,

la verdad que no me he descargado el archivo pero veo que tienes una tabla solo con los países pero necesitas relacionarla con la de usuarios.

En todo caso, deberías crear un campo dentro de la tabla de "usuarios" donde ponga el id del país (id_pais por ejemplo)

Una vez hecho esto, sabiendo que muestras la página de edición de perfil del usuario, puedes hacer la misma consulta que tienes (nunca se sabe si tu usuario se cambia de país) y mirar de mostrar el país del usuario.

Contando que está todo esto creado entiendo que tienes todos los datos del usuario registrado por medio de sesiones (por ejemplo) y hacer que muestre por defecto su país:

1
2
3
4
<!-- dentro del foeach -->
<option <?php echo($user['pais_id'] == $fila_pais['id_pais'])?'selected':''; ?>><?php echo $fila_pais['nombre']; ?></option>
//$user['pais_id'] == país guardado por el user en la bbdd
//$fila_pais['id_pais'] == id del país dentro del foreach

Quedará seleccionado el país guardado por el usuario en el select.

Igual me he ido por las ramas pero prueba a ver.. ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Listas actualizables para editar

Publicado por Pirata (3 intervenciones) el 16/05/2018 00:25:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
	include("conexion.php");
	$id_usuario=0;
	$nombre="";
	$email="";
	$pais="";
	$genero="";
	$comentario="";
 
 
	if(isset($_GET['id_usuario'])){
	$id_usuario=$_GET['id_usuario'];
 
	$consulta_usuario="SELECT * FROM usuario WHERE id_usuario='$id_usuario'";
	$resultado_usuario=$conex->query($consulta_usuario);
 
	foreach($resultado_usuario as $fila_usuario){
		$nombre=$fila_usuario['nombre'];
		$email=$fila_usuario['email'];
		$pais=$fila_usuario['pais'];
		$genero=$fila_usuario['genero'];
		$comentario=$fila_usuario['comentario'];
 
		}
	}
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Formulario de Registros <?php echo $id_usuario;?></title>
</head>
<body>
		<h1>Formulario de Registros</h1>
		<form action="guardar.php" method="POST">
			Nombre(*): <input type="text" name="nombre" value="<?php echo $nombre; ?>" required="required"><br/>
			E-mail   (*)  : <input type="text" name="email" value="<?php echo $email; ?>" required="required"><br/>
			pais: <select name="pais">
                <option>Seleccione un pais</option>
                <?php
                    $consulta_pais="SELECT * FROM pais ORDER BY nombre ASC";
                    $resultados_pais=$conex->query($consulta_pais);
                    foreach ($resultados_pais as $fila_pais) {
                ?>
                    <option><?php echo $fila_pais['nombre']; ?></option>
                <?php } ?>
			</select><br />
 
 
 
			Genero:
				  <input type="radio" name="genero" <?php if($genero=="Masculino") { ?> checked="checked" <?php }?> checked="checked" value="Masculino"> Masculino
 
				  <input type="radio" name="genero" <?php if($genero=="Femenino") { ?> checked="checked" <?php }?> value="Femenino"> Femenino<br>
 
			Comentarios: <br/>
				<textarea name="comentario" cols="40" rows="10"><?php echo $comentario ?></textarea><br/>
				<input type="hidden" name="id_usuario" value="<?php echo $id_usuario;?>">
				<input type="submit" value="Enviar Datos">
		</form>
	<p> (*) Campos obligatorios</p>
 
</body>
 
</html>


Me jala todo menos el pais. me sale como si fuera a seleccionarlo por primera vez, creo que necesita un if... else para diferenciar cuando es nuevo y cuando es edicion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar