Foros del Web » Programando para Internet » PHP »

Consulta Múltiple a Mysql con PHP

Estas en el tema de Consulta Múltiple a Mysql con PHP en el foro de PHP en Foros del Web. Estoy realizando una consulta a mi sistema pero ocurre un problema. Resulta que necesito saber el valor de varios campos de una misma tabla dependiendo ...
  #1 (permalink)  
Antiguo 11/07/2013, 22:47
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 8 meses
Puntos: 2
Consulta Múltiple a Mysql con PHP

Estoy realizando una consulta a mi sistema pero ocurre un problema. Resulta que necesito saber el valor de varios campos de una misma tabla dependiendo siempre de un conjunto de condiciones. He aqui el codigo.

Código PHP:
<?

include 'clases/clssentenciasmysql.php';

$consulta=new clssentenciasmysql;
$rows=$consulta->consultar();
foreach (
$rows as $row) {
       
extract ($row,EXTR_PREFIX_SAME"soft"); 
       
       }
      
?>

<form id="form2" name="form2" method="post" action="consulta.php">
<center><legend>CODIGO DE EQUIPO:</legend></center>
<center>
  <p>
    <input type="text" id="codigo" name="codigo" value="" /> 
    <button type="submit" class="boton">Consultar</button>
  </p>
  <p>&nbsp;</p>
  <div align="left">
    <table width="100%" border="1">
      <tr>
        <td><? echo $responsable?></td>
        <td><? echo $ubicacion?></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td><? echo 'Hardware: '.$tipo_h ?></td>
        <td><? echo $modelo ?></td>
        <td><? echo $marca ?></td>
        <td><? echo $serial ?></td>
        <td><? echo $observaciones_h?></td>
       
      </tr>
        <tr>
        <td><? echo 'Software: '.$tipo_s ?></td>
        <td><? echo $licencia ?></td>
        <td><? echo $version ?></td>
        <td><? echo $fabricante ?></td>
        <td><? echo $observaciones_s ?></td> <td>
      </tr>
    </table>

Alli hago el llamado a la siguiente funcion.

Código PHP:
   function consultar() {
                
$mysqli = new mysqli('localhost''root''root123''soptecvnzla');

if (
$mysqli->connect_errno)
  {
  echo 
"Error en Conexión: " $mysqli->connect_error;
  }
  
       
extract($_POST);


            
$sql"SELECT *
 FROM   
hardware,  
caracteristicas_hardware,  
software,  
caracteristicas_software,  
equipo  
WHERE  
equipo.codigo = caracteristicas_hardware.codigo  
AND  
caracteristicas_hardware.id_hardware = hardware.id_hardware  
AND  
equipo.codigo = caracteristicas_software.codigo  
AND  
caracteristicas_software.id_software = software.id_software
AND
'$codigo' = `equipo`.`codigo`"
;  

$result=$mysqli->query($sql);

if (!
$result) {

 echo(
"Error al consultar" $mysqli->error);

}
$rows = array();
while (
$row $result->fetch_array()) {
      
      
$rows[]=$row;
      
}
return 
$rows;

  } 
El detalle esta en que al momento de imprimir me muestra solo el primer juego de variables por así decirlo, en el siguiente fragmento de codigo
Código PHP:
      <tr>
        <td><? echo $responsable?></td>
        <td><? echo $ubicacion?></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td><? echo 'Hardware: '.$tipo_h ?></td>
        <td><? echo $modelo ?></td>
        <td><? echo $marca ?></td>
        <td><? echo $serial ?></td>
        <td><? echo $observaciones_h?></td>
       
      </tr>
        <tr>
        <td><? echo 'Software: '.$tipo_s ?></td>
        <td><? echo $licencia ?></td>
        <td><? echo $version ?></td>
        <td><? echo $fabricante ?></td>
        <td><? echo $observaciones_s ?></td> <td>
      </tr>
Alli solo me muestra 1 Software y 1 Hardware. Cuando en realidad el codigo hala muchos software y hardware junto a su licencia, version, fabricante... ETC de cada uno de ellos. Quiero poder mostrar todos esos valores. Agradezco de antemano.
  #2 (permalink)  
Antiguo 12/07/2013, 01:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Consulta Múltiple a Mysql con PHP

Código PHP:
Ver original
  1. <?
  2. include 'clases/clssentenciasmysql.php';
  3.  
  4. $consulta=new clssentenciasmysql;
  5. $rows=$consulta->consultar();
  6. ?>
  7. <form id="form2" name="form2" method="post" action="consulta.php">
  8. <center><legend>CODIGO DE EQUIPO:</legend></center>
  9. <center>
  10.   <p>
  11.     <input type="text" id="codigo" name="codigo" value="" />
  12.     <button type="submit" class="boton">Consultar</button>
  13.   </p>
  14.   <p>&nbsp;</p>
  15.   <div align="left">
  16.     <table width="100%" border="1">
  17. <? foreach ($rows as $row) {
  18.        extract ($row,EXTR_PREFIX_SAME, "soft"); ?>
  19.       <tr>
  20.         <td><? echo $responsable; ?></td>
  21.         <td><? echo $ubicacion; ?></td>
  22.         <td></td>
  23.         <td></td>
  24.       </tr>
  25.       <tr>
  26.         <td><? echo 'Hardware: '.$tipo_h ?></td>
  27.         <td><? echo $modelo ?></td>
  28.         <td><? echo $marca ?></td>
  29.         <td><? echo $serial ?></td>
  30.         <td><? echo $observaciones_h?></td>
  31.        
  32.       </tr>
  33.         <tr>
  34.         <td><? echo 'Software: '.$tipo_s ?></td>
  35.         <td><? echo $licencia ?></td>
  36.         <td><? echo $version ?></td>
  37.         <td><? echo $fabricante ?></td>
  38.         <td><? echo $observaciones_s ?></td> <td>
  39.       </tr>
  40. <?   } ?>
  41.     </table>

El bucle debe repetir las tr....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 12/07/2013, 03:12
Avatar de Rodrigo_01  
Fecha de Ingreso: enero-2005
Mensajes: 61
Antigüedad: 19 años, 2 meses
Puntos: 6
Respuesta: Consulta Múltiple a Mysql con PHP

yo recomendaria meter la consulta para ver si la informacion si te la esta dando en la query
  #4 (permalink)  
Antiguo 12/07/2013, 07:44
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 8 meses
Puntos: 2
Respuesta: Consulta Múltiple a Mysql con PHP

La sentencia sql si me arroja los resultados y aun repitiendo las filas y columnas en el bucle me sigue arrojando solo un conjunto de resultados :/ Algo estoy haciendo mal.

Bueno en realidad la sentencia sql si me arroja los resultados que quiero pero me los esta repitiendo de esta forma.



Si alguien me pudiera ayudar a mejorar tal sentencia. Busca extraer todo mediante el codigo.

Última edición por AnGuisi; 12/07/2013 a las 07:54

Etiquetas: múltiple, mysql, select, sql, tabla, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:40.