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

Discussione in 'PHP' iniziata da centoj, 4 Novembre 2018.

  1. centoj

    centoj Nuovo Utente

    Registrato:
    1 Novembre 2018
    Messaggi:
    4
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    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
     

    Files Allegati:

  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    556
    Mi Piace Ricevuti:
    26
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Nel caso in cui il paziente sia ingrassato 20 kg? Non conviene valorizzare gli input con possibilità di modificarli?
     
  3. centoj

    centoj Nuovo Utente

    Registrato:
    1 Novembre 2018
    Messaggi:
    4
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    E' solo un esempio per spiegare l'esigenza di copiare dei valori di campo in un nuovo record.
     
  4. ciaobanana

    ciaobanana Nuovo Utente

    Registrato:
    16 Ottobre 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    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 ($connSELECT AltezzaPesoColesteroloTrigliceridiGlicemia FROM visite WHERE IdPaziente=1);
    if(
    $ris){ //controllo che ci sia almeno un risultato
        
    $param mysqli_fetch_array($ris);
        
    mysqli_query($connINSERT INTO visite (IdPazienteAltezzaPesoColesteroloTrigliceridiGlicemiaVALUES ('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!
     
  5. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    556
    Mi Piace Ricevuti:
    26
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Ribadisco quanto sopra... Crea il modello da passare alla view in questo modo "copi" i valori precedenti.
     
Sto caricando...

Condividi questa Pagina