Como puedo reemplazar dos columnas en MySql, según el usuario logueado.?
Publicado por Andres (1 intervención) el 31/07/2018 02:00:43
Estoy construyendo una app móvil como examen de semestre, la cual consta de una BD en MySql con dos tablas; users_ppl como **Tabla 1** y users_extra como **Tabla 2**.
La tabla 1 contiene un usuario principal, el cual tendrá asignado 2 usuarios extras en la tabla 2.
Tanto el usuario principal como el usuario extra, puede acceder a la app, y revisar la información ligada al usuario principal.
Cuando el usuario principal la app muestra su nombre, por ejemplo, si **Julian** en la **tabla 1** se loguea, aparecerá en la app su nombre y demás datos ligados a este. El problema esta en que cuando un **usuario extra como: Juana** en la **tabla 2** que esta ligado a Julian, inicia sesión, no me muestra en la app el nombre de Juana, sino el de Julian.
Como hago para construir adecuadamente el script en PHP, reemplzar las columnas del usuario extra como usuario y token, cuando este usuario inicie sesión, Es decir si Julian inicia sesion traer la columna usuario y token de Julian, y si Juana inicia sesion, traer las columnas usuario y token de Juana.
**Tabla 1** Usuarios principales.
**Tabla 2** Usuarios extras
PHP: Como traer los datos del usuario extra en `$stmt->bind_result` y en `$user = array(`
La tabla 1 contiene un usuario principal, el cual tendrá asignado 2 usuarios extras en la tabla 2.
Tanto el usuario principal como el usuario extra, puede acceder a la app, y revisar la información ligada al usuario principal.
Cuando el usuario principal la app muestra su nombre, por ejemplo, si **Julian** en la **tabla 1** se loguea, aparecerá en la app su nombre y demás datos ligados a este. El problema esta en que cuando un **usuario extra como: Juana** en la **tabla 2** que esta ligado a Julian, inicia sesión, no me muestra en la app el nombre de Juana, sino el de Julian.
Como hago para construir adecuadamente el script en PHP, reemplzar las columnas del usuario extra como usuario y token, cuando este usuario inicie sesión, Es decir si Julian inicia sesion traer la columna usuario y token de Julian, y si Juana inicia sesion, traer las columnas usuario y token de Juana.
**Tabla 1** Usuarios principales.
1
2
3
4
5
6
id | usuario | password | token | direccion | telefono |
----------------------------------------------------------
1 | Julian | ***** | e12A1 | Av106 | 777 5588 |
----------------------------------------------------------
2 | Marta | ***** | HJb71 | Cra57 | 554 1122 |
----------------------------------------------------------
1
2
3
4
5
6
7
8
id | usuario | password | token | id_ppl |
--------------------------------------------
1 | Juana | ***** | | 1 |
--------------------------------------------
2 | Martin | ***** | | 1 |
--------------------------------------------
3 | Dora | ***** | | 2 |
--------------------------------------------
PHP: Como traer los datos del usuario extra en `$stmt->bind_result` y en `$user = array(`
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
if(isTheseParametersAvailable(array('usuario', 'password'))){
$usuario = $_POST['usuario'];
$password = md5($_POST['password']);
$sql="SELECT T1.id, T1.usuario, T1.token, T1.direccion, T1.telefono
FROM users_ppl T1
LEFT JOIN users_extra T2 ON T1.id = T2.id_ppl";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss",$usuario, $password);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows > 0){
$stmt->bind_result($id, $usuario, $token, $direccion, $telefono);
$stmt->fetch();
$user = array(
'id' => $id,
'usuario' => $usuario,
'token' => $token,
'direccion' => $direccion,
'telefono' => $telefono
);
Valora esta pregunta


0