Foros del Web » Programando para Internet » PHP »

PHP OO Equivalencia PDO->fetch()

Estas en el tema de Equivalencia PDO->fetch() en el foro de PHP en Foros del Web. Hola colegas, quisiera saber cual es la equivalencia del statement fetch() default para mysql... es sólo un mysql_fetch_array()? Es que quisiera poner los valores de ...
  #1 (permalink)  
Antiguo 06/01/2011, 12:35
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Equivalencia PDO->fetch()

Hola colegas, quisiera saber cual es la equivalencia del statement fetch() default para mysql... es sólo un mysql_fetch_array()?

Es que quisiera poner los valores de un mysql_query en una variable, tal como lo hace el fetch() y ponerlo en un array en un controlador y recorrerlo con un foreach.

Espero me puedan ayudar
__________________
Quitenme la vida pero no la bebida.
  #2 (permalink)  
Antiguo 06/01/2011, 12:42
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Equivalencia PDO->fetch()

no entiendo tu pregunta, colocar los resultados de un mysql_query en una variable?? eso es lo que normalmente se hace, lee un poco el manual mysql_fetch_array has un print_r($row) de tu consulta a ver que te da aunque no entiendo cual es tu pregunta?? revisa el manual y veras saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 06/01/2011, 12:45
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
Tema movido desde Frameworks y PHP orientado a objetos a PHP

Así es, es mysql_fetch_array.

Saludos.
  #4 (permalink)  
Antiguo 06/01/2011, 13:09
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Equivalencia PDO->fetch()

Resulta que en una clase ActiveTable hago esta función de ejemplo:

Código PHP:

       
public function find$table ) {
    
            
$sql "SELECT * FROM `%s`";
            
$sql sprintf($sql$table);
            
            
$result $this->_db->ejecutar$sql );
            
$data mysql_fetch_array($result);
                       
            return 
$data;
    } 
En otra clase modelo uso :

Código PHP:

public function findAll() {
       
               return 
$this->find("clientes");
       
       } 
En el controlador lo recibo con

Código PHP:

   
public function listaClientes() {
        
$cllientes = new Clientes();
       
        
$data = array();
        
$data['Clientes'] = $cllientes ->findAll();
        
        
$view = new View();
        
$view->setData$data );
        
$view->setTemplate'vistas/lista.php' );
        
        
$view->render();
   } 
Y en la vista recorro array $Clientes

Código PHP:
<?php foreach( $Clientes as $cliente ) { ?>
   <tr>
        <td><?php echo $cliente['id']; ?></td>
        <td><?php echo $cliente['nombre']; ?></td>

   </tr>
   <?php ?>
Sólo tengo 3 registros pero me retorna el primer registro repetido 6 veces y si hago un print_r($Clientes) sólo me retorna el primer registro, estoy haciendo algo mal al recoger el query....
__________________
Quitenme la vida pero no la bebida.
  #5 (permalink)  
Antiguo 06/01/2011, 13:19
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: Equivalencia PDO->fetch()

Tendrías que hacer un while() para guardar los registros:
Código PHP:
Ver original
  1. $result = mysql_query(/* */);
  2. $rows = array();
  3. while ($rows[] = mysql_fetch_array($result));
  4.  
  5. return $rows;

Saludos.
  #6 (permalink)  
Antiguo 06/01/2011, 14:31
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Equivalencia PDO->fetch()

excelente, gracias gatorv.
__________________
Quitenme la vida pero no la bebida.

Etiquetas: Ninguno
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 14:31.