aver:
este es un ejemplo de consulta con la actual clase:
Código PHP:
// Ejemplo de consulta tipica
$resultado = $db->sql_query('SELECT * FROM tbl_usuario WHERE nick = \'' . $_SESSION["usuario"] . '\'');
if ($db->sql_numrows($resultado)>0)
{
while($filas = $db->sql_fetchrow($resultado))
{
print_c($filas);
}
}
else
{
print("No hay registros");
}
tengo miles de consultas de este tipo en mis proyecto y no quiero cambiarlas una por una porque sería eterno.
la clase de abstraccion de zend es de la siguiente forma:
Código PHP:
$result = $db->query('SELECT id,username FROM posters');
//$result = $db->query('SELECT * FROM');
$rows = $result->fetchAll();
foreach ($rows as $row) {
print $row['id']."<br />";
print $row['username']."<br />";
print $row['email']."<br />";
}
entonces necesito crear una clase que mantenga los mismos nombres de metodos de la clase actual ($db->sql_fetchrow($resultado)) intermedia la cual transforme los array, pero no encuentro la manera de transformar el array que genera la clase de zend fetchall :
Código PHP:
Array (
[0] => Array ( [id] => 1 [username] => jhon)
[1] => Array ( [id] => -1 [username] => Anonymous )
[2] => Array ( [id] => 2 [username] => admin )
[3] => Array ( [id] => 3 [username] => Mato )
[4] => Array ( [id] => 4 [username] => pedro )
)
en un array que genera la actual clase (del tipo mysql_fetch_assoc o mysql_fetch_row) el cual se recorre con while:
Código PHP:
while ($row=$db->sql_fetchrow($resultado)){
echo $row['id']." --> ".$row['username']."<br>";
}
En la implementacion de la clase me da lo mismo si la transformación del array sea con while o foreach, el tema es que en mis scripts php se mantega con while.