Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Orientada a Objetos

Estas en el tema de Consulta Orientada a Objetos en el foro de PHP en Foros del Web. Tengo una pagina de consulta la cual función y hasta ahora tengo lo siguiente. Este es el codigo de la pagina donde tengo la function ...
  #1 (permalink)  
Antiguo 11/07/2013, 10:34
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 2
Consulta Orientada a Objetos

Tengo una pagina de consulta la cual función y hasta ahora tengo lo siguiente. Este es el codigo de la pagina donde tengo la function que hace todo

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 equipo.codigo,  
equipo.responsable,  
equipo.ubicacion,  
caracteristicas_hardware.marca,  
caracteristicas_hardware.observaciones,  
caracteristicas_hardware.serial,  
caracteristicas_hardware.modelo,  
caracteristicas_software.fabricante,  
caracteristicas_software.licencia,  
caracteristicas_software.observaciones,  
caracteristicas_software.version,  
hardware.tipo,
software.tipo
 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);
}

while (
$row $result->fetch_array()) {
      
      
extract ($row,EXTR_PREFIX_SAME"soft");

}
echo 
$responsable;
echo 
'</br>';
echo 
$ubicacion;
  } 
Y esta la pagina donde hago el llamado a esa function

Código PHP:
<?

include 'clases/clssentenciasmysql.php';

$consulta=new clssentenciasmysql;
$consulta->consultar();



?>
La duda surge porque quiero utilizar las variables arrojadas por el "extract($row)" en la pagina donde hago el llamado osea en la ultima que coloque. Pero estas variables solo las puedo utilizar en la misma function donde hago el extract. Alguien podria darme alguna sugerencia. Que no sea tan extendida por favor que tengo que entregar esto hoy u.u. Luego lo podria mejorar con mas calma. MUCHAS GRACIAS DE ANTEMANO.
  #2 (permalink)  
Antiguo 11/07/2013, 10:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Consulta Orientada a Objetos

Pues no puedes, a menos que devuelvas $row a tu clase base y ahí hagas el extract...
  #3 (permalink)  
Antiguo 11/07/2013, 11:01
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Consulta Orientada a Objetos

Como haría eso? Porque teóricamente te entendí esto

while ($row = $result->fetch_array()) {

return $row;

}



y en la otra pag

extract ($row,EXTR_PREFIX_SAME, "soft");


Pero no funciono :v
  #4 (permalink)  
Antiguo 11/07/2013, 11:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Consulta Orientada a Objetos

Cuando haces return regresa esa variable, ahora NO debes de hacer el return dentro del while, porque solo te va a traer un solo juego de registros, tienes que agregarlos a otro array y devolver ese, algo así:
Código PHP:
Ver original
  1. $rows = array();
  2. while($row = $result->fetch_array()) $rows[] = $row;
  3.  
  4. return $rows;

En tu otra pagina
Código PHP:
Ver original
  1. $rows = $consulta->consultar();
  2. foreach ($rows as $row) {
  3.        extract ($row,EXTR_PREFIX_SAME, "soft");
  4.  
  5.         // cosas...
  6. }
  #5 (permalink)  
Antiguo 11/07/2013, 22:41
Avatar de AnGuisi  
Fecha de Ingreso: julio-2013
Ubicación: San Felipe - Yaracuy
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Consulta Orientada a Objetos

Pffffffffffffffffff GRACIAS DE NUEVO ¡¡¡CAPOOOOOOO!!!

Etiquetas: mysql, objetos, orientada, select, sql, 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 19:38.