Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/07/2013, 22:47
Avatar de AnGuisi
AnGuisi
 
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 11 años, 5 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.