Ando con un problema:
Tengo un método en el que consulto por ciertos datos de una tabla. Lo que necesito es mostrar esos resultados en la página principal y no desde el mismo método en el cual consulto.
Código:
Esto anda bien, consulto por el campo nombre de una tabla y luego los muestro.$rs=query("SELECT nombre FROM nombres"); while($datos= mysqli_fetch_array($rs)) echo $datos['nombre'];
Lo que yo necesito es mostrar los resultados en otro lugar, o sea que me devuelva TODOS los datos en un array u objeto y verlos en otro lado.
Algo así:
Código:
class Consultas { function consultar { $rs=query("SELECT nombre FROM nombres"); $datos= mysqli_fetch_array($rs); return $datos; } } $obj=new Consultas(); $resultado=$obj->consultar(); foreach ($resultado as $r) echo $r;
Esto me devuelve sólo el ultimo registro.
Anteriormente lo estaba usando con PDO, pero leí en un par de lugares que el MySqli rinde mejor,
entonces aprovecho que recién comienzo con este proyecto para migrar.
En PDO bastaba con retornar los datos con fetchAll() y eso lo leia con un foreach y andaba joya.
Creo que en MySqli no existe esa función o al menos no la he visto y estaría bueno que exista
una similar así no tengo que cambiar los métodos que ya programé para mostrar todo. Porque si
bien existe el fetch_object no me funciona de igual manera. Por ahora pasa zafar opté por
colocar un bucle en dicho método y mediante array_push voy agregando valores a un array auxiliar
para luego devolverlo.
Gracias!