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=1 ; $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;
}
}
?>
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:
$subtotales= nombres_u($id_delegacion,$fecha,$jefe[$i]);
Código PHP:
echo $subtotales[0]['SUM(us_g_bu)'];
Saludos.