[PHP] Problema query insert [RISOLTO]

Arawan Omacha

Utente Attivo
2 Ott 2015
20
0
1
Buongiorno,
Ho un problema che mi sta perseguitando da un bel pò.
Ho una tabella mysql settore che contiene:
descrizione - funzione
prova_reparto - K
prova_reparto - ELE
reparto_test - ELE
reparto_test - TOP
reparto_tre - K
reparto_tre - ANTE

Ogni descrizione equivale ad una tabella con propri dati, il mio problema è nell'inserimento di dati nelle rispettive tabelle,
ovvero, voglio effettuare l'insert nelle rispettive tabelle, è la distinzione va effettuata per "funzione",
ad esempio:
Riga 1: K (dovrebbe essere copiata solamente in prova_reparto e reparto_tre)
Riga 2: ELE(dovrebbe essere copiata solamente in prova_reparto reparto_test)
Riga 3: K ed ANTE (dovrebbe essere copiata solamente in prova_reparto ed reparto_tre)
Riga 4: ANTE (dovrebbe essere copiata solamente in reparto_tre)
ho tentato di utilizzare il foreach ma mi copia sempre tutto in tutto
 

Arawan Omacha

Utente Attivo
2 Ott 2015
20
0
1
ho provato a creare un trigger AFTER INSERT che elimini i record i campi delle funzioni vuote, ma se provo ad effettuare un insert mi blocca perchè dice che c'è un trigger attivo
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
mi sembra di capire che ci sono
dei record provenienti da "form" o da "file" o da altre sorgenti,
ciascuno di essi identificato da una "funzione"
in base alla funzione devono essere aggiornate le tabelle ricavate dall'associazione in "settore"
ebbene
leggi un record alla volta (da $_POST o dal FILE o dalla sorgente che lo fornisce)
con la funzione presente nel record, ricavi le "descrizioni", facendo una ricerca nella "settore", usando la "funzione" come chiave
con un ciclo sul risultato della selezione, ottieni le "descrizioni" che ti indicano quali tabella aggiornare
aggiorni le tabelle specifiche
ed é finita la gestione del record

ma forse non ho capito ...
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
il trigger per essere attivato richiede dei "comandi" sql che potrebbero essere interessanti per altri,
ma va bene così, non serve rendere pubblica la soluzione
 

Arawan Omacha

Utente Attivo
2 Ott 2015
20
0
1
il trigger per essere attivato richiede dei "comandi" sql che potrebbero essere interessanti per altri,
ma va bene così, non serve rendere pubblica la soluzione
Visto che si parlava di trigger, pensavo che basta cosi, ma forse hai ragione.
In base al mio "problema" questo è ciò che ho adottato:
Essendo che l'insert inseriva i campi i tutte le tabelle citate, ho creato un trigger per disattivare/eliminare i record non necessari:

Tempo trigger: BEFORE
Evento: INSERT
Definizione:
BEGIN
UPDATE Ante SET attivo=0 WHERE Ante_Ante ='';
END
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.274
328
83