Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51

    somma risultato variabile

    Buonasera, da while($row = mysqli_fetch_assoc($result)) { $id=$row['totaleid']; recupero la variabile $id, che ha 3 valori 2, 3, 0 voglio fare la somma ma non ci riesco

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    ma $row['totaleid'] cosa contiene nel record?
    è per caso l'auto increment?

    cmq per fare una somma dentro un while è abbastanza facile


    $id = 0;
    while($row = mysqli_fetch_assoc($result)) {
    $id = ($id+$row['totaleid']);
    }


    echo $id;


    così ottiene la somma matematica...ma quale è il tuo scopo?



  3. #3
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    codice:
    $sql = "SELECT count(id) as totaleid FROM tabella WHERE event_id='$idecat'";
    $result = mysqli_query($conn1, $sql);
    
    
    if (mysqli_num_rows($result) > 0) {
      // output data of each row
    
    
             
          
    while($row = mysqli_fetch_assoc($result)) {
    $id = $row['totaleid'];
    
    
    
    
    
    
    echo $id;
    Questa è la mia query, sto contando quanti record ci sono per event_id, event_id assume 3 valori :90, 91, 92, eseguendo la mia query, mi conta i record per event_id, quindo ottengo
    - 5 record per 90
    - 3 record per 91
    - 1 pecord per 92
    Voglio ottenere la somma totale degli id
    quindi devo sommare 5+3+1

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    Uhmmm
    allora se tu devi ottenere 9 dato da 5+3+1 devi fare così

    SELECT count(id) as totaleid FROM tabella
    togli la clausola WHERE ed in questo caso non ti serve il while perchè avrai 1 unico recordset che contiene 9 in totaleid

    se invece....vuoi sapere il totale record per degli specifici event_id fai così

    SELECT count(id) as totaleid FROM tabella WHERE event_id IN(90, 91, 92)
    anche in questo caso niente while, avrai 1 unico recordset che contiene 9

    se invece....vuoi sapere il totale record per ogni singolo event_id fai così
    SELECT count(id) as totaleid FROM tabella GROUP BY event_id
    in questo caso il while può servire

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    Ho provato questa soluzione
    $sql = "SELECT count(id) as totaleid FROM tabella WHERE event_id IN($idecat)";
    $result = mysqli_query($conn1, $sql);


    if (mysqli_num_rows($result) > 0) {
    // output data of each row


    $id = $row['totaleid'];


    echo "$id";


    Ho provato in questo modo ma non mi restituisce nulla

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    echo "$id";
    correggi con
    echo $id;

    togli le "

    poi
    "SELECT count(id) as totaleid FROM tabella WHERE event_id IN($idecat)";
    $idecat deve essere formattato così ----> 90,91,92

    poi
    fatti una echo della query
    echo $
    sql;

    e riproponila direttamente a database così da vedere senza dubbi cosa torna la query



  7. #7
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    Non funziona, ho provato a fare anche in questo modo, ma li ottengo sempre separati:

    $sql="SELECT id FROM tabella WHERE event_id IN('$idecat')";


    if ($result=mysqli_query($conn1,$sql))
    {


    $rowcount=mysqli_num_rows($result);
    echo $rowcount;



    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    così non va bene
    codice:
    if ($result=mysqli_query($conn1,$sql))
    {
    
    
    $rowcount=mysqli_num_rows($result);
    echo $rowcount;
    
    
    
    }
    scusa ma hai provato la query su phpmyadmin (per esempio) ?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2019
    Messaggi
    51
    La sto testando sul server, facendo
    codice:
    if ($result=mysqli_query($conn1,$sql)){
    
    
    $rowcount=mysqli_num_rows($result);
    echo $rowcount;
    
    
     }
    mi da sempre i risultati separati 5 3 1, non riesco ad uscirne

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    un passettino alla volta...ti assicuro che quanto chiedi è "banale"

    fai una echo della query per cui scrivi

    echo $sql; e riposta qui cosa ti viene stampato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.