[SOLUCIONADO] Consultar e imprimir resultados de diferentes tablas

Iniciado por Only, Mayo 27, 2014, 04:32:14 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 27, 2014, 04:32:14 PM Ultima modificación: Junio 10, 2014, 12:10:23 PM por blackdrake
Hola a todos, tengo un problema con una consulta en PHP y MySQL, les explico rapido, tenog un buscador en el cual introdusco el numero de empleado, entonces este numero de empleado lo busco en 2 tablas que tengo en mi DB, las 2 tablas contienen un campo que se llama numero_empleado, lo que hago hasta ahorita es :

Genero una consulta para buscar en la tabla de equiposdecomputo
Genero una consulta para buscar en la tabla de monitores

Si la consulta 1 me genera uno o mas resultados, imprimo todos los campos que contengan el numero_empleado.

Si la consulta 2 me genera uno o mas resultados, imprimo todos los campos que contengan el numero_empleado.

El detalle esta al momento de mostrarlos porque solo me muestra la consulta 1 y no me imprime lo de la consulta 2

espero me puedan ayudar, les dejo el script que estoy utilizando, quedo abierto a cualquier consejo de programacion.

Código: text
<?php 

include("conexion/start_connection.php");

$numero_empleado = $_POST['numero_empleado'];

$consulta_monitor = mysql_query("SELECT * FROM monitor WHERE numero_empleado='$numero_empleado'",$conexion)or die(mysql_error());

echo "<h2>Registros de usuario</h2>";
echo "<h2>Monitor</h2>";

while(mysql_num_rows($consulta_monitor)>0)
{

if($row = mysql_fetch_array($consulta_monitor))
{
echo "<table>";

echo "<tr>";
echo "<td>Marca</td>";
echo "<td>".$row['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tecnologia</td>";
echo "<td>".$row['tecnologia']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row['numero_de_inventario']."</td>";
echo "</tr>";

echo "</tr>";
echo "</table>";

echo "<hr>";
}
}

echo "<h2>Equipo</h2>";

$consulta_equipo = mysql_query("SELECT * FROM equipo WHERE numero_empleado='$numero_empleado'",$conexion)or die(mysql_error());

while(mysql_num_rows($consulta_equipo)>0)
{

if($row1 = mysql_fetch_array($consulta_equipo))
{
echo "<table>";

echo "<tr>";
echo "<td>Tipo de equipo</td>";
echo "<td>".$row1['tipo_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Nombre de equipo</td>";
echo "<td>".$row1['nombre_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de chasis</td>";
echo "<td>".$row1['tipo_de_chasis']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Marca</td>";
echo "<td>".$row1['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row1['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Procesador</td>";
echo "<td>".$row1['procesador']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Memoria ram</td>";
echo "<td>".$row1['memoria_ram']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Disco Duro</td>";
echo "<td>".$row1['disco_duro']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row1['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row1['numero_de_inventario']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Conexión a internet</td>";
echo "<td>".$row1['conexion_a_internet']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de conexión</td>";
echo "<td>".$row1['tipo_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Velocidad de conexión</td>";
echo "<td>".$row1['velocidad_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Dirección IP</td>";
echo "<td>".$row1['direccion_ip']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Dirección MAC</td>";
echo "<td>".$row1['direccion_mac']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Puerta de enlace</td>";
echo "<td>".$row1['puerta_de_enlace']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Sistema Operativo</td>";
echo "<td>".$row1['sistema_operativo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row1['licencia_os']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Office</td>";
echo "<td>".$row1['office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row1['licencia_office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Antivirus</td>";
echo "<td>".$row1['antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row1['licencia_antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Software institucional</td>";
echo "<td>".$row1['software_institucional']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Otro software</td>";
echo "<td>".$row1['otro_software']."</td>";
echo "</tr>";

echo "</tr>";
echo "</table>";

echo "<hr>";
}
}

?>

Aparentemente no veo ningún error de programación, aunque no se si tendrá algo que ver, pero dentro del segundo while, en el if usas $row1 = .....

Has probado a poner $row como haces en el primero?

Un saludo.



You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Aparentemente no veo ningún error de programación, aunque no se si tendrá algo que ver, pero dentro del segundo while, en el if usas $row1 = .....

Has probado a poner $row como haces en el primero?

Un saludo.

Lo hago como me dices blackdrake y me sigue apareciendo igual, te dejo una captura y el codigo

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Código: text
<?php 

include("conexion/start_connection.php");

$numero_empleado = $_POST['numero_empleado'];

$consulta_monitor = mysql_query("SELECT * FROM monitor WHERE numero_empleado='$numero_empleado'",$conexion)or die(mysql_error());

echo "<h2>Registros de usuario</h2>";
echo "<h2>Monitor</h2>";

while(mysql_num_rows($consulta_monitor)>0)
{

if($row = mysql_fetch_array($consulta_monitor))
{
echo "<table>";

echo "<tr>";
echo "<td>Marca</td>";
echo "<td>".$row['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tecnologia</td>";
echo "<td>".$row['tecnologia']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row['numero_de_inventario']."</td>";
echo "</tr>";

echo "</tr>";
echo "</table>";

echo "<hr>";
}
}

echo "<h2>Equipo</h2>";

$consulta_equipo = mysql_query("SELECT * FROM equipo WHERE numero_empleado='$numero_empleado'",$conexion)or die(mysql_error());

while(mysql_num_rows($consulta_equipo)>0)
{

if($row = mysql_fetch_array($consulta_equipo))
{
echo "<table>";

echo "<tr>";
echo "<td>Tipo de equipo</td>";
echo "<td>".$row['tipo_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Nombre de equipo</td>";
echo "<td>".$row['nombre_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de chasis</td>";
echo "<td>".$row['tipo_de_chasis']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Marca</td>";
echo "<td>".$row['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Procesador</td>";
echo "<td>".$row['procesador']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Memoria ram</td>";
echo "<td>".$row['memoria_ram']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Disco Duro</td>";
echo "<td>".$row['disco_duro']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row['numero_de_inventario']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Conexión a internet</td>";
echo "<td>".$row['conexion_a_internet']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de conexión</td>";
echo "<td>".$row['tipo_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Velocidad de conexión</td>";
echo "<td>".$row['velocidad_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Dirección IP</td>";
echo "<td>".$row['direccion_ip']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Dirección MAC</td>";
echo "<td>".$row['direccion_mac']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Puerta de enlace</td>";
echo "<td>".$row['puerta_de_enlace']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Sistema Operativo</td>";
echo "<td>".$row['sistema_operativo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_os']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Office</td>";
echo "<td>".$row['office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Antivirus</td>";
echo "<td>".$row['antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Software institucional</td>";
echo "<td>".$row['software_institucional']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Otro software</td>";
echo "<td>".$row['otro_software']."</td>";
echo "</tr>";

echo "</tr>";
echo "</table>";

echo "<hr>";
}
}

?>

Mayo 28, 2014, 03:27:36 PM #3 Ultima modificación: Mayo 28, 2014, 03:45:24 PM por blackdrake
Ejecuta la sentencia sql desde phpmyadmin y mira si da resultados.

Si los dá, pienso que el fallo debería estar entre estas líneas. Aun que no veo nada raro..

Código: php
while(mysql_num_rows($consulta_equipo)>0)
{

if($row = mysql_fetch_array($consulta_equipo))
{


y si no.. pues ya sabemos donde está el fallo.

También puede probar a intercambiar el orden, primero el que te falla y segundo el que te funciona y ver si se queda igual o se intercambia.

Un saludo.



Como dice blackrake,  intenta ejecutando la sentencia sql desde phpmyadmin, si te funciona, entonces intenta cambiar esto:

Código: php

    while(mysql_num_rows($consulta_equipo)>0)
    {
     
     if($row = mysql_fetch_array($consulta_equipo))
     {



por esto en ambos casos

Código: php

    if(mysql_num_rows($consulta_equipo)>0)
    {
     
     while($row = mysql_fetch_array($consulta_equipo))
     {



Saludos Destructor!

Junio 10, 2014, 10:58:04 AM #5 Ultima modificación: Junio 10, 2014, 12:10:53 PM por blackdrake
Ya arregle el problema les dejo la solución aquí

Código: php


include("conexion/start_connection.php");

$numero_empleado = $_POST['numero_empleado'];

$consulta_monitor = mysql_query("SELECT marca, modelo, tecnologia, numero_de_serie, numero_de_inventario, numero_empleado FROM monitor WHERE email='$numero_empleado'",$conexion)or die(mysql_error());

$consulta_equipo = mysql_query("SELECT tipo_de_equipo, nombre_de_equipo, tipo_de_chasis, marca, modelo, procesador, memoria_ram, disco_duro, numero_de_serie, numero_de_inventario, conexion_a_internet, tipo_de_conexion, velocidad_de_conexion, direccion_ip, direccion_mac, puerta_de_enlace, sistema_operativo, licencia_os, office, licencia_office, antivirus, licencia_antivirus, software_institucional, otro_software FROM equipo WHERE email='$numero_empleado'",$conexion)or die(mysql_error());

echo "<h2>Monitor</h2>";

while($row = mysql_fetch_array($consulta_monitor))
{

echo "<div class='well'>";
echo "<table class='table'>";
echo "<tr>";
echo "<td width='30%'>Marca</td>";
echo "<td>".$row['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tecnologia</td>";
echo "<td>".$row['tecnologia']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row['numero_de_inventario']."</td>";
echo "</tr>";

echo "</table>";


echo "</div>";
}

echo "<h2>Equipo</h2>";

while($row = mysql_fetch_array($consulta_equipo))
{

echo "<div class='well'>";
echo "<table class='table'>";
echo "<tr>";
echo "<td width='30%'>Marca</td>";
echo "<td>".$row['tipo_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['nombre_de_equipo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de chasis</td>";
echo "<td>".$row['tipo_de_chasis']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Marca</td>";
echo "<td>".$row['marca']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Modelo</td>";
echo "<td>".$row['modelo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Procesador</td>";
echo "<td>".$row['procesador']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Memoria ram</td>";
echo "<td>".$row['memoria_ram']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Disco Duro</td>";
echo "<td>".$row['disco_duro']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de serie</td>";
echo "<td>".$row['numero_de_serie']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Numero de inventario</td>";
echo "<td>".$row['numero_de_inventario']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Conexion a internet</td>";
echo "<td>".$row['conexion_a_internet']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Tipo de conexion</td>";
echo "<td>".$row['tipo_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Velocidad de conexion</td>";
echo "<td>".$row['velocidad_de_conexion']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Direccion IP</td>";
echo "<td>".$row['direccion_ip']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Direccion MAC</td>";
echo "<td>".$row['direccion_mac']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Puerta de enlace</td>";
echo "<td>".$row['puerta_de_enlace']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Sistema Operativo</td>";
echo "<td>".$row['sistema_operativo']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_os']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Office</td>";
echo "<td>".$row['office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_office']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Antivirus</td>";
echo "<td>".$row['antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Licencia</td>";
echo "<td>".$row['licencia_antivirus']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Software institucional</td>";
echo "<td>".$row['software_institucional']."</td>";
echo "</tr>";

echo "<tr>";
echo "<td>Otro software</td>";
echo "<td>".$row['otro_software']."</td>";
echo "</tr>";

echo "</table>";

echo "</div>";
}


Perfecto, me alegro de que ya lo hayas solucionado, ahora veo cual era la solucion.

Cierro tema y lo pongo como solucionado.

Un saludo.