Creo que normalmente me pasa al reves, que me sale le nombre y lo quiero quitar, pero esta vez no logro recoger el nombre de la columna. Esta es mi consulta y como la recorro.
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;
}
Quiero realizar consultas sean como sean y devolver un array con los valores. Pero me gustaría que en la primera fila estuvieran los nombres de los campos.
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;
}
}
}
pero como puedo imprimir $titulo para que solo salga una vez? la primera. No se me ocurre.