Come capisco se sono in INSERT o in UPDATE?

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
GabrieleCL
Messaggi: 3
Iscritto il: 28 nov 2018, 15:35

Come capisco se sono in INSERT o in UPDATE?

Messaggio da GabrieleCL » 03 mag 2021, 10:04

Ho creato un FORM come griglia editabile.
Nel mio DB la tabella ha un campo "DATETIME_UPDATE" che memorizza l'ultimo aggiornamento al record.
Nel FORM di SC vorrei proporre in un certo campo, il valore dell'ultimo record memorizzato.
Creo una routine che fa, sostanzialmente:
SELECT campo FROM tabella LIMIT 1 ORDER BY datetime_update DESC
ed inserisco il valore di "campo" nella FORM SC.

1) In quale evento dovrei inserire la routine? OnRecord?

2) La routine dovrebbe essere eseguita solo in fase di inserimento di una nuova riga e non in caso di aggiornamento. Come capisoco in quale fase sono?
Ho provato sc_btn_new ma non pare fare al caso mio.

Grazie

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: Come capisco se sono in INSERT o in UPDATE?

Messaggio da Fabio » 03 mag 2021, 12:07

Ciao, dovrebbe andare bene l'evento "onBeforeInsert".
Questo evento viene eseguito solo all'inserimento.

GabrieleCL
Messaggi: 3
Iscritto il: 28 nov 2018, 15:35

Re: Come capisco se sono in INSERT o in UPDATE?

Messaggio da GabrieleCL » 03 mag 2021, 18:50

Non va bene l'evento onBeforeInsert come non vanno bene gli altri eventi perchè si riferiscono alla INSERT o UPDATE nel DB e quindi dopo che l'utente li ha confermati.
Per intervenire prima che l'utente faccia l'input dei dati bisogna creare un Evento ajax sul campo di input con il seguente codice:

if(empty({id}))
{
echo "Nuovo<br>";
} else {
echo "Aggiorna<br>";
}

{id} è la primary key della tabella, impostata come auto_increment.
{id} deve essere tra i campi del FORM, anche se nascosta.

Spero che sia utile a qualcuno.
Se ci sono altre soluzioni, ben vengano.

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot], Semrush [Bot] e 0 ospiti