somma e informa

luigithen

Utente Attivo
31 Mar 2020
84
3
8
eccomi di nuovo qui, ho dato questo nome " Somma e Informa " perchè non saprei come definire la mia domanda ie spero di spiegarmi al meglio e se tutto questo è possibile farlo oppure non so aggiungere una tabella che indica il raggiungimento

in " Buoni " ho la somma del punteggio raggiunto in base alla spesa effettuata i dati inseriti sono immaginari (allego immagine)

BUONI.png


in questo caso (prendo in esempio il primo Emilia Cocco) il Buono è di 12.4 , vorrei che quando arriva a 25 la tabella o la sezione del cliente lo sfondo o il colore diventi verde, quando supera i 25 (esempio 25.4) ritorni al colore di default (nero), se arriva a 50 lo sfondo o il colore diventi verde e così via la somma ed il cambio colore deve avvenire ogni 25

il codice da dove prendo tutti i dati che vedete nell'immagine è questo

PHP:
<?php while($row = mysqli_fetch_array($result)) {

                          $somma_punti = 0;
                          $totale_spesa = 0;

                          $query_totale ="SELECT punti.id_cliente, punti.punti, punti.spesa, calcolo_punti.calcolo FROM punti INNER JOIN calcolo_punti where id_cliente=$row[id_cliente]";
                          $risultato_totale = mysqli_query($connect, $query_totale);
                          while($somma = mysqli_fetch_array($risultato_totale))
                          {
                            $somma_punti = $somma_punti + $somma ['punti'];
                            $totale_spesa = $totale_spesa + $somma['spesa'];
                            $data = $somma['data_punti'];
                            $somma_puntis = $somma_punti / $somma ['calcolo'];
                          }

                          echo "<tr>";
                          echo "<td>" . $row['nome'] . "</td>";
                          echo "<td>" . $row['cognome'] . "</td>";
                          echo "<td>" . $row['whatsapp'] . "</td>";
                          echo "<td>" . $row['email'] . "</td>";
                          echo "<td>" . $row['data_reg'] . "</td>";
                           "<td>" . $row['accetta'] . "</td>";
                          echo "<td>" . $row['tessera'] . "</td>";
                          echo "<td>" . $somma_punti . "</td>";
                          echo "<td>" . "€ ".number_format($totale_spesa, 2, ',', '') . "</td>";
                          echo "<td>";
                          if($somma_punti != 0){echo round($somma_puntis, 2);}else{echo "0.00";}
                          echo "</td>";
                          echo '<td>
                          <a href="punticliente.php?id_cliente='
                          . $row['id_cliente'] . '" class="btn btn-icon btn-primary btn-sm" data-toggle="tooltip" title="Aggiungi Punti">
                          <i class="fa fa-pencil"></i></a>

                          <a href="clienteprofilo.php?id_cliente='
                          . $row['id_cliente'] . '" class="btn btn-icon btn-info btn-sm" data-toggle="tooltip" title="Profilo Cliente">
                          <i class="fa fa-info-circle"></i></a>

                          </td>';
                          echo "</tr>";
                          unset($somma_punti);
                          unset($totale_spesa);
                          unset($data);
                        }?>
 

Allegati

  • BUONI.png
    BUONI.png
    100,4 KB · Visite: 323
Ultima modifica:
Prova cosi:
PHP:
<tr style="<?php if($somma_puntis%25 = 0 AND $somma_punti > 0){echo "background-color: yellow";}?>">
 
Prova cosi:
PHP:
<tr style="<?php if($somma_puntis%25 = 0 AND $somma_punti > 0){echo "background-color: yellow";}?>">

grazie per il tuo contributo,

anche se porto il cliente a 25 non visualizzo quello che chiedo, ed anche se lo porto a 50

Buoni2.png
 
Ultima modifica:
Se guardi il codice sorgente della pagina, vedi <tr style=""> o altro (quando il buono è 25)?

questo è quello che visualizzo quando inserisco il buono a 25

Buono4.png


PHP:
  echo '<tr style="<?php if($somma_puntis%25 = 0 AND $somma_punti > 0){echo "background-color: yellow";}?>';
                          echo "<td>" . $row['nome'] . "</td>";
                          echo "<td>" . $row['cognome'] . "</td>";
                          echo "<td>" . $row['whatsapp'] . "</td>";
                          echo "<td>" . $row['email'] . "</td>";
                          echo "<td>" . $row['data_reg'] . "</td>";
                           "<td>" . $row['accetta'] . "</td>";
                          echo "<td>" . $row['tessera'] . "</td>";
                          echo "<td>" . $somma_punti . "</td>";
                          echo "<td>" . "€ ".number_format($totale_spesa, 2, ',', '') . "</td>";
                          echo "<td>";
                          if($somma_punti != 0){echo round($somma_puntis, 2);}else{echo "0.00";}
                          echo "</td>";
                          echo '<td>
 

Allegati

  • Buono3.png
    Buono3.png
    54,6 KB · Visite: 311
Ultima modifica:
Scusa ho sbagliato:
PHP:
 if($somma_puntis%25 = 0 AND $somma_punti > 0){
echo "<tr style='background-color: green'>";
}else{
echo "<tr>";
}
P.S. tutto questo devi metterlo al posto di:
PHP:
echo "<tr>";
(all'interno del while)
 
Scusa ho sbagliato:
PHP:
if($somma_puntis%25 = 0 AND $somma_punti > 0){
echo "<tr style='background-color: green'>";
}else{
echo "<tr>";
}
P.S. tutto questo devi metterlo al posto di:
PHP:
echo "<tr>";
(all'interno del while)

grazie

inserito il codice
PHP:
  <?php while($row = mysqli_fetch_array($result)) {

                          $somma_punti = 0;
                          $totale_spesa = 0;

                          $query_totale ="SELECT punti.id_cliente, punti.punti, punti.spesa, calcolo_punti.calcolo FROM punti
                          INNER JOIN calcolo_punti where id_cliente=$row[id_cliente]";
                          $risultato_totale = mysqli_query($connect, $query_totale);
                          while($somma = mysqli_fetch_array($risultato_totale))
                          {
                            $somma_punti = $somma_punti + $somma ['punti'];
                            $totale_spesa = $totale_spesa + $somma['spesa'];
                            $data = $somma['data_punti'];
                            $somma_puntis = $somma_punti / $somma ['calcolo'];

                          }
                          if('$somma_puntis%25 = 0 AND $somma_punti > 0'){
                            echo "<tr style='background-color: green'>";
                            }else{
                            echo "<tr>";
                            }

                          echo "<td>" . $row['nome'] . "</td>";
                          echo "<td>" . $row['cognome'] . "</td>";
                          echo "<td>" . $row['whatsapp'] . "</td>";

questo è il risultato sono tutti verdi

Buono5.png
 
Mi sembra molto strano che dia errore di sintassi, sicuro di aver scritto tutto bene? Puoi postare di nuovo il codice che dà errore?
 
no avevo già provato

grazie ancora ecco il codice

PHP:
<?php while($row = mysqli_fetch_array($result)) {

                          $somma_punti = 0;
                          $totale_spesa = 0;

                          $query_totale ="SELECT punti.id_cliente, punti.punti, punti.spesa, calcolo_punti.calcolo FROM punti
                          INNER JOIN calcolo_punti where id_cliente=$row[id_cliente]";
                          $risultato_totale = mysqli_query($connect, $query_totale);
                          while($somma = mysqli_fetch_array($risultato_totale))
                          {
                            $somma_punti = $somma_punti + $somma ['punti'];
                            $totale_spesa = $totale_spesa + $somma['spesa'];
                            $data = $somma['data_punti'];
                            $somma_puntis = $somma_punti / $somma ['calcolo'];

                          }
                          if(($somma_puntis % 25) = 0 AND $somma_punti > 0){
                            echo "<tr style='background-color: green'>";
                            }else{
                            echo "<tr>";
                            }

                          echo "<td>" . $row['nome'] . "</td>";
                          echo "<td>" . $row['cognome'] . "</td>";
                          echo "<td>" . $row['whatsapp'] . "</td>";
                          echo "<td>" . $row['email'] . "</td>";
                          echo "<td>" . $row['data_reg'] . "</td>";
 
una domanda, banale sicuramente perchè non saprei proprio come fare, è più facile creare una nuova tabella ? ed in questa tabella fare questo ?

mostrare solo il nome, cognome dell'utente e
se buoni è = a 25 punti colore verde
se buoni è < colore nero
e poi ogni 25 (25, 50, 75, 100 ecc ecc ) punti quindi sommando sempre dal totale diventa di colore verde

questo non saprei proprio da dove cominciare
 
Ultima modifica:

Discussioni simili