Hola a todos/as
Tengo el siguiente lio os pongo el codigo:
Código PHP:
// Función para obtener los nombres de campos que empiezan por "u" - esta función va antes que la de abajo en ejecución
function nombres_u($id_operario,$fecha){
$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($result);
echo "$num_rows filas\n<br><br>";
$consulta_nombres = mysql_query("SELECT * FROM campos_prefactura WHERE (nombre_campo LIKE 'u%') ORDER BY id_campo_prefactura ASC");
//Descomponemos el array que nos devuelve la consulta en muchas variables y las imprimimos
for($i=1 ; $i<=$num_rows ; $i++)
{
$escribe_nombres = mysql_fetch_array($consulta_nombres);
$registro_nombre[$i]['id'] = $escribe_nombres['id_nombre_campo'];
$registro_nombre[$i]['nombre'] = $escribe_nombres['nombre_campo'];
$cuenta_campo=$registro_nombre[$i]['nombre'];
$suma_campo=mysql_query ("SELECT SUM($cuenta_campo) FROM prefactura WHERE id_operario='$id_operario' AND fecha='$fecha'")or die (mysql_error());
while ($escribe_suma = mysql_fetch_array($suma_campo))
{
foreach ($escribe_suma as $nombre=> $valor){
$union=$nombre.'|'.$valor;
list($id,$nombre) = explode("|", $union);
echo "id:".$id."| nombre:".$nombre."<br>";
}
}
}
}
Y esto me imprime lo siguiente :
37 filas
id:0| nombre:0
id:SUM(us_g_bu)| nombre:0
id:0| nombre:0
id:SUM(uc_g_bu)| nombre:0
id:0| nombre:0
id:SUM(us_g_gn)| nombre:0
id:0| nombre:5
id:SUM(uc_g_gn)| nombre:5
id:0| nombre:0
id:SUM(us_reg)| nombre:0
id:0| nombre:0
id:SUM(uc_reg)| nombre:0
Como puedo hacer para que no me duplique los valores, como lo que esta en negrita me refiero, donde esta el fallo del codigo o por que me hace esto, haber si alguien me puede hechar una manita.
Un saludo a todos/as y mil gracias