input dati con inser into select ?

luigithen

Utente Attivo
31 Mar 2020
84
3
8
ciao ragazzi scusate forse il titolo non è adatto ma spero di spiegarmi al meglio sulla funzione che vorrei integrare.

ho questa pagina (allego img)
schermata1.png


dove come potete vedere da questa immagine, leggo i dati dalla tabella "tesserato" (allego codice che utilizzo) nome, cognome e numero tessera che è disabilitato quindi non può essere modificato

PHP:
<?php
                      require_once("database/dbcontroller.php");
                      $db_handle = new DBController();
                      $result = $db_handle->runQuery("SELECT * FROM tesserato WHERE id_tess='" . $_GET["id_tess"] . "'");
                      ?>

mentre da un'altra tabella "stato" (allego codice che utilizzo) inserisco punti, spesa e data tramite insert

PHP:
<?php
require_once ("database/dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["submit"])) {
    $query = "INSERT INTO tesspunti (codice, id_pun, punti, spesa, data_sp)
    VALUES('3330','".$_GET["id_pun"]."','".$_POST["punti"]."','".$_POST["data_sp"]."','".$_POST["data_sp"]."')";
        $result = $db_handle->executeQuery($query);
    if(!$result){
            $message="Problem in Adding to database. Please Retry.";
    } else {
        header("Location:code.php");
    }
}
?>

quello che vorrei capire è come faccio a salvare nome, cognome e numero tessera visto che i campi vengono letti e non sono presenti nell'insert ?

spero di essermi spiegato

guardavo questa funzione

PHP:
INSER INTO tabellaA
SELECT FROM tabellaB

In questo caso tutti i dati di "TabellaB" verranno riversati in "TabellaA".

ma non ho capito come integrarla sempre se è la soluzione
 
Puoi fare due query separate, l'insert che hai già e un update

Tommy come sempre grazie della risposta, non deve esserci un update perchè i dati non devono essere aggiornati (intendo nome, cognome e numero tessera) ma devono essere inseriti/copiati dentro l'altra tabella dove cè punti, spesa e data
 
allora ho provato questo

submit

PHP:
<?php
require_once ("database/dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["submit"])) {
    $query = "INSERT INTO tesspunti (punti, spesa, data_sp)
    VALUES('".$_GET["id_pun"]."','".$_POST["punti"]."','".$_POST["spesa"]."','".$_POST["data_sp"]."')";
        $result = $db_handle->executeQuery($query);
    if(!$result){
            $message="Problem in Adding to database. Please Retry.";
    } else {
        header("Location:code.php");
    }
}
?>

e questo per copiare il contenuto

PHP:
  <?php
                        require_once ("database/dbcontroller.php");
                        $db_handle = new DBController();
                        if(!empty($_POST["submit"])) {

                          $query = "INSERT INTO tesspunti (codice, nome, cognome, tessera, id_tess)
                          SELECT codice, nome, cognome, tessera, id_tess FROM tesserato WHERE id_tess='" . $_GET["id_tess"] . "'";
                                $result = $db_handle->executeQuery($query);
                            if(!$result){
                                    $message="Problem in Adding to database. Please Retry.";
                            }
                        }
                        $result = $db_handle->runQuery("SELECT * FROM tesserato WHERE id_tess='" . $_GET["id_tess"] . "'");
                        ?>

il problema è che nel salvataggio mi crea 2 id uno del primo codice ed un'altro del secondo codice
 
ho lasciato questa opzione e risolto solo con l'id dell'utente

chiedo se qualcuno mi può indicare come mostrare il simbolo euro ed i decimali allego foto

due.png


questo è il codice

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

                          $somma_punti = 0;
                          $totale_spesa = 0;

                           $query_totale ="SELECT * FROM tesspunti where id_tess=$row[id_tess] order by data_sp desc";
                          $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_sp'];
                          }

                          echo "<tr>";
                          echo "<td>" . $row['nome'] . "</td>";
                          echo "<td>" . $row['cognome'] . "</td>";
                          echo "<td>" . $row['whatsapp'] . "</td>";
                          echo "<td>" . $row['data_reg'] . "</td>";
                          echo "<td>" . $row['accetta'] . "</td>";
                          echo "<td>" . $row['tessera'] . "</td>";
                          echo "<td>" . $somma_punti . "</td>";
                          echo "<td>" . $totale_spesa . "</td>";
                          echo '<td>
                          <a href="addpunti.php?id_tess=' . $row['id_tess'] . '" class="btn btn-icon btn-primary"><i class="fa fa-pencil"></i></a>
                          <a href="modifica.php?id_tess=' . $row['id_tess'] . '" class="btn btn-icon btn-success"><i class="fa fa-edit"></i></a>
                          <a href="infocliente.php?id_tess=' . $row['id_tess'] . '" class="btn btn-icon btn-info"><i class="fa fa-info-circle"></i></a>
                          </td>';
                          echo "</tr>";
                          unset($somma_punti);
                          unset($totale_spesa);
                          unset($data);
                        }?>

risolto bastava inserire
PHP:
"€ ".number_format($totale_spesa, 2, ',', '')
 
Ultima modifica:

Discussioni simili