[PHP] Creare un Pulsante che ricopia valori di un campo in altro record

  • Creatore Discussione Creatore Discussione centoj
  • Data di inizio Data di inizio

centoj

Nuovo Utente
1 Nov 2018
4
0
1
Buongiorno, sono nuovo di questo forum ed avrei necessità dell'aiuto di qualcuno che sia più esperto di me in PHP. Il mio problema è il seguente:
Ho un database con due tabelle: PAZIENTI e VISITE. Un paziente può essere sottoposto a più visite (ognuna delle quali rappresenta un record). Ci sono dei campi della tabella visite che devono essere ricopiati nell'inserimento della nuova visita, faccio un esempio:


Viene inserito nella tabella VISITE il Paziente: Rossi Mario IdPaziente1


IdVisita 1
IdPaziente 1 (collegato alla tabella PAZIENTI)
DataVisita
Altezza
Peso
Colesterolo
Trigliceridi
Glicemia




Successivamente vengono inseriti altri pazienti.....
Quando il paziente Rossi IdPaziente1 si ripresenta a visita, avrei la necessita di ricopiare (con la pressione di un pulsante) alcuni campi del record inserito per ultimo relativo al paziente Rossi


IdVisita 5
IdPaziente 1 (collegato alla tabella PAZIENTI)
DataVisita
Altezza (campo da ricopiare con i dati dell'ultimo inserimento relativo al paziente Rossi IdPaziente 1)
Peso (campo da ricopiare con i dati dell'ultimo inserimento relativo al paziente Rossi IdPaziente 1)
Colesterolo (campo da ricopiare con i dati dell'ultimo inserimento relativo al paziente Rossi IdPaziente 1)
Trigliceridi (campo da ricopiare con i dati dell'ultimo inserimento relativo al paziente Rossi IdPaziente 1)
Glicemia (campo da ricopiare con i dati dell'ultimo inserimento relativo al paziente Rossi IdPaziente 1)


La query da applicare dovrebbe essere questa:
----------------
INSERT INTO visite (Altezza, Peso, Colesterolo, Trigliceridi, Glicemia) SELECT Altezza, Peso, Colesterolo, Trigliceridi, Glicemia FROM visite WHERE IdPaziente=1;
----------------
L'azione dovrebbe essere la seguente:
Nel nuovo inserimento dopo aver inserito IdPaziente, DataVisita, presso il pulsante "RICOPIA DATI" e alla pressione del tasto viene eseguita la query di sopra, che deve andare a pescare il Paziente presente in Archivio con IdPaziente= a....
Spero di essere stato chiaro nella esposizione e vi ringrazio anticipatamente per l'aiuto che riuscirete a darmi.
Allego le due tabelle
 

Allegati

  • tabella_pazienti.jpg
    tabella_pazienti.jpg
    87,1 KB · Visite: 427
  • tabella_visite.jpg
    tabella_visite.jpg
    84,6 KB · Visite: 415
Nel caso in cui il paziente sia ingrassato 20 kg? Non conviene valorizzare gli input con possibilità di modificarli?
 
E' solo un esempio per spiegare l'esigenza di copiare dei valori di campo in un nuovo record.
 
Ciao,
non vorrei sbagliarmi, ma credo che sia concettualmente errato il tuo ragionamento.
I parametri che vorresti andare a copiare non devono stare in "visite" ma in "paziente".
Se vuoi fare uno storico delle visite, metterei una tabella "storico_visite", ed in "visite" solo i campi IdPaziente, IdStorico.

In ogni caso, per rispondere prettamente alla domanda (non ritengo di essere più esperto di te), spezzerei le query e farei:
PHP:
$ris = mysqli_query ($conn, SELECT Altezza, Peso, Colesterolo, Trigliceridi, Glicemia FROM visite WHERE IdPaziente=1);
if($ris){ //controllo che ci sia almeno un risultato
    $param = mysqli_fetch_array($ris);
    mysqli_query($conn, INSERT INTO visite (IdPaziente, Altezza, Peso, Colesterolo, Trigliceridi, Glicemia) VALUES ('1', $param['Altezza'] , $param['Peso'], $param['Colesterolo'], $param['Trigliceridi'], $param['Glicemia']);
}

Il codice va adattato con tutte le virgolette.
Spero di non aver detto castronerie. Ciao!
 

Discussioni simili