Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Sintaxis array_sum

Estas en el tema de Sintaxis array_sum en el foro de PHP en Foros del Web. Hola, me estoy volviendo un poco loco con array_sum. resulta que tengo un array con un while pero y quiero que sume todos los campos ...
  #1 (permalink)  
Antiguo 23/02/2016, 17:31
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Sintaxis array_sum

Hola, me estoy volviendo un poco loco con array_sum. resulta que tengo un array con un while pero y quiero que sume todos los campos de total y los meta en una variable pero no funciona. de momento lo tengo en un alert para ver que pasa, pero llega vacío.

a ver si alguien sabe decirme donde me estoy equivocando.
este es mi código.

Código PHP:
//consulto los datos del presupuesto
    $CDpresulinea = "SELECT * FROM `Presupuesto_linea`";
    $RDpresulinea = mysqli_query($Conectar, $CDpresulinea); //$Dpresulinea=mysqli_fetch_array($RDpresulinea);

    while ($Dpresulinea = mysqli_fetch_array($RDpresulinea)) { //creo un array con los datos 
    if ($Docolor%2==0) { $DocolorC="colordoc1"; } else { $DocolorC="colordoc2"; } ?>
    <tr id="LineaNum<?=$Dpresulinea["posicion"];?>" class="Lineasdoc <?=$DocolorC;?>">
        <td class="uni"><input type="text" value="<?=$Dpresulinea["cantidad"];?>"></td>
        <td class="concepto"><input type="text" value="<?=$Dpresulinea["concepto"];?>"></td>
        <td class="precio"><input type="text" value="<?=$Dpresulinea["precio"];?>"></td>
        <td class="coef"><input type="text" value="<?=$Dpresulinea["coef"];?>"></td>
        <td class="desc"><input type="text" value="<?=$Dpresulinea["descuento"];?>"></td>
        <td class="subtotal"><input type="text" value="<?=$Dpresulinea["subtotal"];?>"></td>
        <td class="opciones"><button class="botonborrar" onclick="EliminarLinea('+LineaNum+','+frm.base.value.replace(',', '.')+','+frm.totalimpu.value.replace(',', '.')+');"></button></td>
    </tr>
    
    <?php if (!empty($Dpresulinea["detalles"])) { //si hay detalles en la linea ?>
    <tr id="detalles<?=$Dpresulinea["posicion"];?>" class="Lineasdoc <?=$DocolorC;?>">
        <td bgcolor="#FFF">&nbsp;</td>
        <td colspan="4" class="Lineasdoc"><?=$Dpresulinea["detalles"];?></td>
    <?php //cierro si no tiene detalles
         
$total $Dpresulinea["total"]; ?>
</tr>
<?php $Docolor++;    } ?>
    <script>alert('<?=array_sum($total);?>');</script>
Muchas gracias por adelantado :)
  #2 (permalink)  
Antiguo 23/02/2016, 17:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sintaxis array_sum

Pues por lo que se entiende del código jamás estás acumulando los totales en ningún array, por lo tanto array_sum() no tiene sentido.

Lo que haces en la siguiente linea está mal:
Código PHP:
Ver original
  1. $total = $Dpresulinea["total"];

Dado eso $total jamás será un array.

Debes crear un array auxiliar antes del while(), y entonces con array_push() agregar valores a dicho array.

Sólo así puede que te funcione array_sum(), de la forma en que lo haces es imposible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2016, 17:39
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Sintaxis array_sum

Y dentro de mi bucle no puedo hacer nada para almacenar ese dato?
  #4 (permalink)  
Antiguo 23/02/2016, 17:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sintaxis array_sum

Cita:
Iniciado por killpe Ver Mensaje
Y dentro de mi bucle no puedo hacer nada para almacenar ese dato?
Pues eso es lo que te acabo de decir:
Cita:
y entonces con array_push() agregar valores a dicho array.
Obviamente me refiero a dentro del while... no imaginé que lo entenderías de otra forma.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 25/02/2016, 04:32
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Sintaxis array_sum

No termino de entender la sintaxis
  #6 (permalink)  
Antiguo 25/02/2016, 08:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sintaxis array_sum

Ejemplo:
Código PHP:
Ver original
  1. $totales = array();
  2.  
  3. while (/* ... */) {
  4.   $totales []= $sub_total;
  5. }
  6.  
  7. var_dump(array_sum($totales));
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 25/02/2016, 09:30
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Sintaxis array_sum

Si solo pretendes sumar creo que utilizar un array es innecesario.

Prueba con algo más simple

Código PHP:
Ver original
  1. $total = $total+$Dpresulinea["total"];  // esto dentro de tu bucle
  2.  
  3. echo $total;
  #8 (permalink)  
Antiguo 25/02/2016, 10:27
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Sintaxis array_sum

Cita:
Iniciado por xerifandtomas Ver Mensaje
Si solo pretendes sumar creo que utilizar un array es innecesario.

Prueba con algo más simple

Código PHP:
Ver original
  1. $total = $total+$Dpresulinea["total"];  // esto dentro de tu bucle
  2.  
  3. echo $total;

Genial, con eso resuelto mil gracias a los dos por la ayuda

Etiquetas: mysql, select, sintaxis, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.