Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2008, 07:00
marco_sa
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
¿Por que me devuelve solo un resultado cuando deberia devolver 37?

Hola a todos/as

Tengo la siguiente funcion y solo me devuelve un resultado cuando se que debe devolver 37, haber si veis lo que estoy haciendo mal:

Código PHP:
<?Php
function nombres_u($id_delegacion,$fecha,$id_jefe){

$consulta_nombres mysql_query("SELECT * FROM campos_prefactura WHERE (nombre_campo LIKE 'u%') ORDER BY id_campo_prefactura ASC");
//    $result = mysql_query("SELECT * FROM campos_prefactura WHERE (nombre_campo LIKE 'u%') ORDER BY id_campo_prefactura ASC");

// Sacamos el numero total de filas de la consulta
$num_rows mysql_num_rows($consulta_nombres);

 
//Componemos un array con los resultado que nos devuelve la consulta

for($i=$i<=$num_rows $i++)
   {

$escribe_nombres mysql_fetch_array($consulta_nombres);

$registro_nombre[$i]['nombre'] = $escribe_nombres['nombre_campo'];
 
$cuenta_campo=$registro_nombre[$i]['nombre'];
         
print_r ($cuenta_campo);
$procesa_suma="SUM(".$cuenta_campo.")";
// Aqui realizamos la consulta con los datos que nos ha devuelto la consulta anterior

$suma_campo=mysql_query ("SELECT $procesa_suma FROM prefactura WHERE id_delegacion='$id_delegacion' AND fecha='$fecha' AND id_jefe='$id_jefe'")or die (mysql_error());

// Metemos el resultado en un array asociativo
$contador=0;
while (
$escribe_suma mysql_fetch_assoc($suma_campo)){


        
$subtotales[$contador]=$escribe_suma;
        
$contador++;


}
        return 
$subtotales;
}



}

?>
Solo me devuelve esto :

1us_g_bu4us_g_bu

Y deberia devolver 37 nombres de campos incluido ese que imprime.

Haber si veis donde esta mal la funcion y por que lo hace mal, por que yo cada vez lo entiendo menos.

Asi la llamo desde el script

Código PHP:
 $subtotalesnombres_u($id_delegacion,$fecha,$jefe[$i]); 
Y asi imprimo los resultados

Código PHP:
 echo $subtotales[0]['SUM(us_g_bu)']; 
No entiendo na de na la verdad, cada vez lo veo mas ilogico, por que por logica deberia funcionar.

Saludos.