[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 2 Visitantes 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: php
<?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.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
<?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.