Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/04/2012, 06:40
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: mostrar datos consulta multitabla

Cita:
Iniciado por cheterporras2 Ver Mensaje
¡Hola!:
He realizado una consulta multitabla como ejemplo, con dos de las tablas que tengo relacionadas,pero creo que el php está mal, no me muestra los datos que le estoy pidiendo.En concreto
Php no es el que esta mal veamos por que.


Código PHP:
Ver original
  1. if(!isset($_SESSION['USUARIO'])){
  2. header("location:login.php");
  3. } else {
  4.  
  5. if(isset($_SESSION['USUARIO'])) {  
  6. echo "BIENVENIDO ".$_SESSION['USUARIO']." este es tu perfil.";
  7. }
  8. }

para comenzar tienes esta parte del código donde verificas la session usuario, dices que en caso de no estar definida redireccione a login.php y de lo contrario vuelva a verificar la session usuario se supone que ya antes fue verificada y por eso es que estas en el bloque del else.

La manera mas apropiada seria.
Código PHP:
Ver original
  1. if(!isset($_SESSION['USUARIO'])){
  2. header("location:login.php");
  3. }
  4.  
  5. echo "BIENVENIDO ".$_SESSION['USUARIO']." este es tu perfil.";

Aquí colocar un bloque else seria opcional.

Punto II.

Código PHP:
Ver original
  1. $result = mysql_query('SELECT * FROM usuarios WHERE usuario = "' . $_SESSION['USUARIO'] . '"')or die(mysql_error());
  2. $usuario = mysql_fetch_array($result);

Aqui haces una consulta a la tabla usuarios y le pasas el nombre del usuario a la variable $usuario eso es lo que tu piensas que haces pero no es asi lo que en realidad estas haciendo es pasando el Arreglo completo de la consulta a la variable $usuario, por tanto cuando hagas la consulta mas abajo no contendrá un dato coherente ya que $usuario no almacena ningún nombre.
Fíjate como lo hiciste mas abajo con $campo['usuario'].

Punto III.

Código PHP:
Ver original
  1. $sql = mysql_query("SELECT usuarios.usuario, usuarios.contrasenna, animal.especie FROM usuarios
  2. INNER JOIN animal on usuarios.idusuario = animal.idusuario
  3. WHERE usuarios.usuario ='$usuario' && usuarios.idusuario='$animal.idusuario'") or die(mysql_error());

Aquí vemos que haces la consulta con tu variable $usuario el cual no contiene ningún nombre y ademas agregas esta parte && usuarios.idusuario='$animal.idusuario' la cual no tiene sentido.
Y ahora me pregunto quien esta mal ?

Saludos.