Si hago eso, para limpiar el result ya lo tengo que hacer desde el lado de la "vista" digamos, y lo queria evitar:
Código imposible Código PHP:
$result = getResult();
while($fila = mysql_fetch_assoc($result)) {
echo $fila['campo'];
}
mysql_free_result($result); //esto!
function getResult() {
//la conexión ya viene ok
return mysql_query("select * from tal_tabla");
}
Una solución que encontré para lograr cierta independencia de la bd que utilizo:
Código PHP:
$datos = getDatos();
foreach($datos as $fila) {
echo $fila['campo'];
}
//no hace falta limpiar $datos ya que es un array y no un result.
function getDatos() {
$datos = array();
$result = mysql_query("select * from tal_tabla");
while($fila = mysql_fetch_assoc($result)) {
$datos[] = $fila;
}
mysql_free_result($result);
return $datos;
}
Peeeero estoy recorriendo dos veces los datos!! Uno para cargar la matriz y otra para mostrar los datos. ¿Hay alguna forma de hacer esto mejor?
Ta luego y gracias por contestar!