select join e sottrazione punti

luigithen

Utente Attivo
31 Mar 2020
84
3
8
ciao a tutti eccomi di nuovo qui con una richiesta di aiuto dovrei sottrarre dalla somma questo è quello che ho usato

PHP:
SELECT punti.id_cliente, (sum(punti)- sum(punti_scalo)) as scalo,
                        scalo_punti.id_cliente FROM punti INNER JOIN scalo_punti ON punti.id_cliente=scalo_punti.id_cliente

da premettere che sum(punti) ha un totale di 8 mentre sum(punti_scalo) ha un totale di 1 quindi dovrebbe essere come totale 7 invece mi mostra 5
 
Ultima modifica:

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Sum(punti) mi sembra sia una tabella e non una colonna. Comunque ti consiglio di fare delle prove più semplici per capire dove sta il problema
 

luigithen

Utente Attivo
31 Mar 2020
84
3
8
Sum(punti) mi sembra sia una tabella e non una colonna. Comunque ti consiglio di fare delle prove più semplici per capire dove sta il problema

grazie come sempre della risposta

ok trovata la soluzione è questa

PHP:
"SELECT SUM(r.punti_scalo)-( SELECT SUM(s.punti) FROM punti AS s
                        WHERE r.id_cliente=s.id_cliente) as differenza, r.id_cliente FROM scalo_punti AS r
                        WHERE r.id_cliente='" . $_GET["id_cliente"] . "' GROUP BY r.id_cliente"

una domanda se è possibile, siccome come numero mi restituisce -3 è possibile far visualizzare solo 3 senza il - ?
 

luigithen

Utente Attivo
31 Mar 2020
84
3
8
Puoi usare str_replace:
PHP:
$str = "-3";
echo str_replace("-","", $str);

avrei un'ultima domanda per favore e questa volta non sò proprio come fare.

allora ho 3 tabelle

Tabella A punti
in questa tabella inserisco i punti in base alla spesa che viene effettuata ed è così composta
punti.png


Tabella B scalo_punti
in questa tabella inserisco i punti da scalare dalla somma della tabella punti ed è così composta
scalo.png


Tabella C premi
in questa tabella sono presenti i premi che possono essere utilizzati quando si scalano i punti dalla tabella scalo_punti ed è così composta
premi.png


ora la mia domanda è questa
quando scalo i punti dalla tabella punti e questi vengono salvati in scalo_punti come posso selezionare il premio e farlo visualizzare nella scheda cliente ?

spero di essermi spiegato bene
 

luigithen

Utente Attivo
31 Mar 2020
84
3
8
Cioe? Non ho capito come deve essere selezionato il premio. Quando inserisci una riga nella tabella dei punti scalati, vuoi che venga visualizzata una riga dalla tabella premi? Se si, quale riga?

grazie come sempre della tua risposta

vorrei che se seleziono ad esempio tramite dropdown id_premi 1 quindi sconto del 20% questa venga salvata nella tabella scalo_punti

perdonami rettifico,

scalo dal totale dei punti e tramite dropdpwn seleziono il premio questi devono essere salvati in scalo punti
 
Ultima modifica:

luigithen

Utente Attivo
31 Mar 2020
84
3
8
allora ho provato a fare questo

questo salva

PHP:
<?php
require_once ("database/db.php");
$db_handle = new DBController();
if(!empty($_POST["submitscalo"])) {
    $query = "INSERT INTO scalo_punti (punti_scalo, data_scalo, premio, id_cliente)
    VALUES('".$_POST["punti_scalo"]."','".$_POST["data_scalo"]."', '".$_POST["premio"]."', '".$_GET["id_cliente"]."')";
        $result = $db_handle->executeQuery($query);
    if(!$result){
            $message="Problem in Adding to database. Please Retry.";
    } else {
        header("clienteprofilo.php");
    }
}
?>

con questo tramite dropdown seleziono il premio

PHP:
<select class="form-control">
          <option>Seleziona Premio</option>
        <?php foreach($users as $user): ?>
        <option value="<?= $user['premio']; ?>"> <?= $user['premio']; ?></option>
        <?php endforeach; ?>
                </select>

salva tutto ad esclusione del premio
cosa sbaglio ?
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Il premio dove deve essere salvato? Nella tabella "premi" oppure bisogna fare dei calcoli per poi inserire in "scalo_punti"?
 

luigithen

Utente Attivo
31 Mar 2020
84
3
8
Il premio dove deve essere salvato? Nella tabella "premi" oppure bisogna fare dei calcoli per poi inserire in "scalo_punti"?

il premio è già presente quindi deve essere selezionato questa è la sua immagine

premi.png


quindi

1 seleziono il premio che è già presente
2 inserisco i punti da scalare
3 inserisco la data del giorno in cui richiede di scalare i punti
4 i punti da 1 a 3 devono essere salvati in scalo_premi che è un'altra tabella

nella replica precedente ho provato a fare il tutto ma l'unica cosa che non mi salva è il premio
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Forse perche nella select devi mettere name="premio" per poterlo prendere con $_POST['premio']. Poi vedo che nell'insert del tuo codice c'è il campo "premio" nella tabella scalo_punti, mentre nella foto di questa tabella non c'è un campo che si chiama premio
 

luigithen

Utente Attivo
31 Mar 2020
84
3
8
Forse perche nella select devi mettere name="premio" per poterlo prendere con $_POST['premio']. Poi vedo che nell'insert del tuo codice c'è il campo "premio" nella tabella scalo_punti, mentre nella foto di questa tabella non c'è un campo che si chiama premio

ti allego in modo corretto il tutto

1 Tabella Premi
premi.png


2 scalo i premi
scalo.png


3 salvo i premi nella tabella scalo_premi
salvo premi.png


questo è il codice per salvare dove è presente anche premio

PHP:
<?php
require_once ("database/db.php");
$db_handle = new DBController();
if(!empty($_POST["submitscalo"])) {
    $query = "INSERT INTO scalo_punti (punti_scalo, data_scalo, premio, id_cliente)
    VALUES('".$_POST["punti_scalo"]."','".$_POST["data_scalo"]."', '".$_POST["premio"]."', '".$_GET["id_cliente"]."')";
        $result = $db_handle->executeQuery($query);
    if(!$result){
            $message="Problem in Adding to database. Please Retry.";
    } else {
        header("clienteprofilo.php");
    }
}
?>

questo è il dropdown dove seleziono il premio però non mi viene salvato in scalo premi (al punto 3)
PHP:
<select class="form-control">
          <option>Seleziona Premio</option>
        <?php foreach ($users as $user): ?>
        <option value="<?= $user['premio']; ?>"> <?= $user['premio']; ?></option>
        <?php endforeach; ?>

se utilizzo questo codice mi salva tutto tranne il premio

scaerm.png
 

Allegati

  • salvo premi.png
    salvo premi.png
    41,5 KB · Visite: 344
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
G [MySQL] Join o select MySQL 1
Marco_88 Select distinct e join MySQL 2
R MySQL JOIN o UNION SELECT? (tabella vuota) MySQL 0
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Ordinare option di una select Javascript 5
W MySQL ciclo in SELECT MySQL 0
W MySQL SELECT list dinamica MySQL 0
M Select Option dentro una Table jQuery 2
G Colorare menu select attraverso ricerca php PHP 0
L problema con query select PHP 2
F menù select dinamico da db in php PHP 3
D popolare campi tra th alla select PHP 36
M Estrarre valore con SELECT COUNT PHP 0
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Select Dinamiche...da txt? PHP 3
E Php select option e ajax PHP 23
R Select concatenata che non funziona la seconda volta Ajax 3
L input dati con inser into select ? PHP 4
V hierarchy-select jQuery 0
Emix Select concatenate php sql ajax PHP 2
F query e form con select multipla PHP 17
T recupero valori select multipla da android Javascript 3
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
Tommy03 Select in ordine per numero di record MySQL 7
T problema con select dinamica con jquery Javascript 0
J Far comparire e scomparire un div con un select Javascript 1
M Opzioni select da 1 a 200 PHP 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
C input in sostituzione della select PHP 2
G Insert into select - Aiuto MySQL 0
max1974 autocomplete trigger select jQuery 0
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
M Estrarre dati da una select HTML PHP 3
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
M [PHP] Problema con query select PHP 2
C [PHP] Controllo <select> comportamento anomalo PHP 2
G [PHP] Select con opzioni dipendenti da un'altra select PHP 3
L [Javascript] Select option in campi input Javascript 4
M [PHP] Problemi con select PHP 6
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
max1974 [Javascript] malfunzionamento select Javascript 0
M [PHP] Drop down in campo select PHP 1
D [PHP] Select dinamici PHP 2
G sql select con array in php PHP 1
L [PHP] Form da select compilare campi automaticamente PHP 1

Discussioni simili