Es el método de ejecutar consultas de mi clase:
Código PHP:
function consulta($consulta) {
$array = array ();
$resultado = odbc_exec ( $this->conexion, $consulta ) or die ( "Error en odbc_exec" );
$contador = 0;
while ( $row = odbc_fetch_array ( $resultado, 0 ) ) {
foreach ( $row as $campo ) {
$array [$contador] [] = TRIM ( $campo );
}
$contador ++;
}
return $array;
}
Suponiendo que lanzo la consulta "SELECT nombre, telefono FROM cliente" pues lo dicho. Que me saliera en el array:
nombre telefono
juan 123456789
pepe 987654321
y así, bueno creo que está clarísimo.
En la función si añado un var_dump($row) dentro del while se ve que tiene índice pero no se como hacer para extraerlo en el foreach. ¿No se puede?
Esto es lo que devuelve dentro del while un var_dump:
array(2) { ["nombre"]=> string(60) "Cliente Tal tal tal" ["telefono"]=> string(40) "123456789" }
Saludos y gracias.
P.D. No logre saber que diferencia hay entre odbc_fetch_array, odbc_fetch_object, odbc_fetch_row ya leí y aunque entiendo el concepto da igual lo que ponga funcionan igual.
Vale que tontería ya logré añadirlo, es algo que ya sabía pero lo tenía olvidado. Con un foreach ( $fila as $titulo=>$campo ) queda solucionado. Pero ahora no logro mostrar ese array por pantalla mostrando el indice correspondiente (sin que se repita mil veces claro).
Es decir:
Código PHP:
foreach($resultado as $fila)
{
foreach($fila as $titulo=>$campo) {
echo $campo;
}
}
}