Un pequeño empujón con PHP y MySql

Creo que por tu experiencia y los trabajos que vi en tu web me podes ayudar.
No sé mucho de PHP, estoy aprendiendo. En el trabajo intento desarrollar un sitio web desde donde el usuario tendrá acceso a insertar, modificar y consultar cierta información. Lo del registro e identificación de usuarios me funciona, pero resulta que necesito hacer que, según el usuario se vean sus datos y los pueda modificar.
Te cuento más o menos como está la base de datos:
Tablas:
Representante
Establecimientos
consumo_agua
Vehículos
Y otras 12 tablas más...
La tabla representante tiene un campo llave (o indice, o clave): cedula
Las otras tablas tienen el campo cedula para relacionarlas.
La tabla representante es donde están los usuarios con su password y otros datos más Puedo hacer que verifique el usuario y que tenga acceso a ciertas páginas según el tipo de usuario y que se vea la información de ese usuario de la tabla representante.
Lo que no consigo es que, según la cedula del usuario, se vean en la página sólo los datos de ese usuario, ya sea sólo para verlos o para modificarlos.
Por ejemplo, en la tabla establecimientos hay una empresa relacionada con un usuario (pueden haber más), y al hacer la consulta me aparece el primer registro, no el correspondiente con el usuario de acuerdo a la cedula.
Otra cosa, las páginas las estoy haciendo con dreamweaver por las plantillas y por los asistentes que trae.
Para ver los datos del usuario tengo esto:
$conn = mysql_connect("localhost","root","xxx") or die ("Error de conexion.");
mysql_select_db("retc",$conn) or die ("Error de conexion.");
$ssql = "SELECT * FROM representante WHERE cedula='".$_SESSION["usuario"]."'";
$rs = mysql_query($ssql,$conn);
while($row = mysql_fetch_array($rs)) {
echo "VERIFICACION DATOS DE DECLARANTE <br>";
echo "Nombre:"." ".$row["nombre"]."<br>";
echo "Tipo de usuario:"." ".$row["tipo"]."<br>";
echo "Dirección:"." ".$row["direccion"]."<br>";
echo "Cédula:"." ".$row["cedula"]."<br>";
echo "Email:"." ".$row["email"]."<br>";
}
echo "Datos adicionales del declarante: <br>";
Hasta ahí todo bien, pero no sé que hacer para que, según el usuario ($_SESSION["usuario"], me traiga los datos de las otras tablas. En "usuario" está la cedula del usuario, que es la llave.
No sé si me expliqué bien. Espero tu respuesta y si puedes un pequeño ejemplo con código.

1 respuesta

Respuesta
1
Ok, lo que debes de tener en las otras tablas es un campo que relacione cada cosa con una persona, de forma que tendrás un campo "cedula" o como lo llames que corresponderá unicamente a los datos de esa persona.
Cuando hagas una consulta sobre esas otras tablas, siempre pondrás algo como WHERE cedula='".$_SESSION["usuario"]."'";, como haces en la principal, de forma que te sacará la información de esas tablas en cuyo campo cedula, aparezca el dato de la session de la persona
OK jorvidu gracias por tu pronta respuesta.
Entonces aclarame algo antes de seguir. Yo puedo utilizar el valor de $_SESSION (sea cual sea la variable entre los corchetes) en cualquier página del sitio, ¿siempre y cuando no termine la sesión?.
Otra cosa, el asunto de las comillas dobles y sencillas me tiene frito! Cuándo se utilizan y cómo, porque en el ejemplo que puse funciona pero si yo pongo algo como esto
$ssql = "SELECT * FROM representante WHERE cedula=$valor";
¿Me tira un error de sintaxis de SQL y no sé qué será?
Gracias
Exacto, siempre y cuando no termines la sesión, y siempre y cuando incluyas la instrucción
<?php session_start(); ?> al principio de cada una de esas páginas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas