Joomla.it Forum

Componenti per Joomla! => Gestione Form => : jurassic 19 Sep 2015, 13:45:06

: [RISOLTO]Chronoconnectivity V5 duplica i record
: jurassic 19 Sep 2015, 13:45:06
Salve a tutti voi.
Vado subito al sodo:
CCV5 visualizza le informazioni inserite ed elimina i record.
Il problema e che quando clicco su modifica, apre il record con le informazioni ma duplica il record modificato.
Devo solo modificare e qiundi aggiornare il record aperto e non duplicarlo.
Cosa occorre fare per evitare che CCV5 duplichi il record?

Sotto le informazioni di base del form: prova.
In Design ho inserito anche un elemento Hidden nascosto ma senza alcun codice.
In On load Elemento HTML, DB Save e DB Read
Ho realizzato la tabella Mysql con CFV5
Il form inserisce bene i dati nella tabella.
Ho collegato il form  prova a Chronoconnectivity v5 con Models provainsert.
In Front list, Setting ho inserito il seguente codice:
provainsert.id:ID
provainsert.operatore:Operatore
provainsert.tipologia:Tipologia
_EDIT_:Modifica
_DELETE_:Elimina

Ho inserito in Front list, Action, Edit il seguente codice:
<p><textarea rows="2" name="provainsert[operatore]" cols="20"></textarea></p>
  <p><textarea rows="2" name="provainsert[tipologia]" cols="20"></textarea></p>
 <p><input type="submit" value="Invia" name="Invia"></p>
: Re:Chronoconnectivity V5 duplica i record
: vales 20 Sep 2015, 00:13:45
la prima cosa da segnalare

db save va in On submit del form prova
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 09:11:17
Grazie per la risposta.

Db Save è in On submit,
Db Read è in On load
Subito dopo Custom Code (vuoto non ho inserito nessun codice)
Poi HTML (Render form) prima di Db Save.

Ma in questo modo crea i doppi record. Cosa occorre fare per sistemarlo?
: Re:Chronoconnectivity V5 duplica i record
: vales 20 Sep 2015, 09:40:44
in db read e dbsave usi lo stesso model id provainsert ? dovrebbe essere lo stesso.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 10:47:57
No, erano diversi.
Ho appena inserito provainsert in Model Id di DB Save e DB Read  ma continua a duplicare i record.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 14:39:06
Ho provato anche a fare questo ma non va:
Ho spostato Custom code sopra a DB Read
In Custom code -> Content Ho inserito il seguente codice:
<? php
 $ user = & JFactory :: getUser ();
 $ form-> dati ['user_id'] = $ user-> id;
 ?>
Codice ripreso da un esempio del produttore di CFV5 ma ancora continua a duplicare i dati.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 16:38:26
Il codice appena provato non funziona bene, da il seguente errore sulla pagina del form:
Parse error: syntax error, unexpected '$' in /.........../............./............../components/com_chronoforms5/chronoforms/actions/custom_code/custom_code.php(20) : eval()'d code on line 2
Anche se  inserisce i dati ma continua a duplicare i record.
: Re:Chronoconnectivity V5 duplica i record
: tomtomeight 20 Sep 2015, 16:55:57
Hai degli spazi in eccesso dopo il $
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 17:18:20
Da non considerare gli spazi /.........../............./............../
Gli ho inseriti io per il post e per nascondere l'hosting.
: Re:Chronoconnectivity V5 duplica i record
: tomtomeight 20 Sep 2015, 17:34:46
No, mi riferivo a $ user devi scriverlo $user e così le altre variabili precedute dal dollaro.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 17:45:33
Scusa. Non avevo capito.
Inserirò di nuovo il codice con le correzione che mi hai indicato e vediamo se funziona.
Grazie tomtomeight
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 17:53:11
Ho fatto le prove  con il consiglio di tomtomeight ma continua a duplicare i record.
Questo è il codice corretto:
<?php
 $user=& JFactory::getUser();
 $form->dati['user_id']=$user->id;
 ?>
: Re:Chronoconnectivity V5 duplica i record
: tomtomeight 20 Sep 2015, 17:56:34
Pee non duplicare devi inserire lo stesso id del form che richiami quano lo aggiorni. Non uso chronoconnectivity ma il principio è questo.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 20 Sep 2015, 21:17:20
Giustissimo, il principio è proprio questo quando si programma con PHP  e MySql. La funzione o la variabile PHP interroga tramite l'ID lo specifico record della tabella MySql.
Uso le due estensioni da una settimana e sto cercando di capire anche la filosofia di funzionamento.
Occorre ottimizzare bene il Setup di CF, questo poi interagisce con CC. Ma in realtà è CC che richiama l'id del record precedentemente settato nel Setup di CF. Almeno questo è quello che suppongo.
Il mio problema è come settare CF tramite una funzione o un codice ben preciso per farlo dialogare con CC e sicuramente settare anche CC affinché quest'ultimo apra lo specifico record e permette di fare le modifiche senza duplicarlo.
Come posso risolvere il problema?
: Re:Chronoconnectivity V5 duplica i record
: jurassic 21 Sep 2015, 11:49:36
Non c'é nessuno che può aiutarmi?
Grazie in anticipo.
: Re:Chronoconnectivity V5 duplica i record
: vales 21 Sep 2015, 20:22:37
io in questi casi metto in designer un campo nascosto che recupera il valore id del record del form con questi valori, per la tua situazione.

Field name: provainsert[id]

Field value: {gcb} dove gcb e il parametro passato al form nell'url del link che corrisponde all'id del record letto. Controlla nell'url il nome del parametro e adegualo al tuo caso.

: Re:Chronoconnectivity V5 duplica i record
: jurassic 21 Sep 2015, 21:25:25
Salve vales. Intanto grazie per la tua disponibilità
Ho inserto il campo nascosto con Field id:  hidden  all'inizio del Designer, come primo elemento.
Ho inserito Field name: provainsert[id]
Rimane il problema di Field value: {gcb}
Tra le varie prove ad inserire una parte della URL continua a duplicare.
Quando clicco su Modifica di un qualsiasi record compare questa URL:
http://....../....../......./prova-modifica?cont=lists&ccname=prova&act=edit&gcb=12    in questo caso ID 12
Quale parte di questo url devo adattare in Field value: {gcb}?
: Re:Chronoconnectivity V5 duplica i record
: vales 21 Sep 2015, 21:33:39
in questo caso è come ti ho indicato io

Field value: {gcb}
: Re:Chronoconnectivity V5 duplica i record
: jurassic 21 Sep 2015, 22:08:41
Field value: {gcb} avevo già provato ad inserirlo e riprovato adesso ma continua a duplicare.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 21 Sep 2015, 22:28:32
Ho controllato di nuovo ma non va.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 22 Sep 2015, 21:30:32
Nessuno può aiutarmi a risolvere il problema?
: Re:Chronoconnectivity V5 duplica i record
: jurassic 22 Sep 2015, 21:33:55
Ho effettuato altre prova ma continua a duplicare. Come posso risolvere?
: Re:Chronoconnectivity V5 duplica i record
: jurassic 26 Sep 2015, 13:36:30
Vales ti chiedo un altro aiuto. Ho letto un tuo post dove consigliavi di usare : <?php return array('id' => $form->data['cgb']);?> in On Submit  DB Save.
Ma ancora duplica, quale può essere il problema?
: Re:Chronoconnectivity V5 duplica i record
: vales 27 Sep 2015, 09:12:16
Occorrerebbe vedere in modo completo come hai settato il form e la connessione.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 27 Sep 2015, 18:51:45
Buonasera Vales. Intanto ti ringrazio moltissimo per il tempo che mi stai dedicando.
Questa è la configurazione, spero riuscirai ad aiutarmi. Di nuovo grazie.

Con CRONOFORMS V5 ho realizzato tre copie di form:
1. per l'inserimento dei record nel DB si chiama: prova (per l'inserimento dei records nel DB)
Da prova ho fatto le copie del form in:
2. prova_elimina
3. prova_modifica

prova e prova_elimina funzionano bene.

Ora scrivo il settaggio del form prova_modifica realizzato con CFv5:

GENERAL.
Form name-> prova_modifica

DESIGNER.
4 Edit element setting.
Il primo di questi ha il campo nascosto -> Field name: provainsert2[id] (provainsert è il model di CC) -> Field value:{cgb}
Il secondo Field name : operatore-> Field ID: operatore -> Label: Operatore
Il terzo Field name : tipologia-> Field ID: tipologia -> Label: Tipologia
Il quarto elemento è un pulsante submit con ID: pulsante

SETUP.
On load:
Custom code: vuoto
HTML (Render Form)-> solo impostazioni di default
DB Read-> Action label: provainsert2-> Model ID: provainsert2 -> Conditons: <?php return array('id'=>$form->data['cgb']);?>
In Tabel name la tabella è la stessa del form: prova

On submit:
DB Save -> Action label: provainsert2[id]->Table name: ......datatable_prova ->Model ID: provainsert2 -> Upadate conditions: <?php return array('id' => $form->data['cgb']);?>
Display Message: <p>Form inserito con successo</p>
Connection Action: -> Connection name: provainsert2 -> Connection action: Save
TCPDF: non penso sia rilevante per le modifiche

CRONOCONNECTIVITY V5.

GENERAL:
Connection name: prova_modifica.
Models:
Model Title: provainsert2
Table name: .......datatable_prova
Fields: id,user_id,operatore,tipologia

FRONT LIST.
Setting.
Colums list:
provainsert2.id:ID
provainsert2.operatore:Operatore
provainsert2.tipologia:Tipologia
_EDIT_:Modifica
_DELETE_: Elimina

Sortable:
provainsert2.operatore:Operatore
Wiev linkable:
provainsert2.operatore:Operatore

List display:
Custom: vuoto
Table: -> Footer code: _PAGINATOR_LIST_

Actions.
view: -> Code:
<p><div id='operatore'><textarea rows="2" name="provainsert2[operatore]" id='operatore'>cols="20"></textarea></div></p>
<p><textarea rows="2" name="provainsert2[tipologia]" id='tipologia'> cols="20"></textarea></div></p>

edit:
Form event: vuoto
Code:
<p><div id='operatore'><textarea rows="2" name="provainsert2[operatore]" id='operatore'>cols="20"></textarea></div></p>
<p><textarea rows="2" name="provainsert2[tipologia]" id='tipologia'> cols="20"></textarea></div></p>
<a href={cf_pdf_file}>Click here pdf[/url]
<input type="submit" value="Invia" name="Invia">------   
<input type="button" value="Torna" onclick="window.history.back()" />

Permissions:
Da index a delete-> Public e Registred sono tutti: Allowed
: Re:Chronoconnectivity V5 duplica i record
: vales 27 Sep 2015, 22:15:27
Prova a togliere in action della connection il code ed  attiva invece  Form event inserendo: prova_modifica:load

Vediamo come reagisce.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 27 Sep 2015, 22:34:06
Ho tolto il codice html da view e continua a duplicare. Togliendolo da edit e attivando il Form con prova_modifica:load , cliccando sul link modifica non visualizza i dati dei record. Cliccando su Submit da il seguente errore : Connection not found e visualizza un doppio link  del produttore dell'estensione.
: Re:Chronoconnectivity V5 duplica i record
: vales 28 Sep 2015, 00:57:42
prova a togliere dal On submit del form Connection Action: -> Connection name: provainsert2 -> Connection action: Save
: Re:Chronoconnectivity V5 duplica i record
: jurassic 28 Sep 2015, 20:52:06
Buonasera Vales.
Ho tolto da Connection Action: -> Connection name: provainsert2 -> Connection action: Save.
Purtroppo non va, continua a duplicare. Ho provato anche a realizzare altri form con la stessa procedura ma anche questi duplicano i records.
 Da cosa può dipendere?
: Re:Chronoconnectivity V5 duplica i record
: vales 30 Sep 2015, 14:53:59
nella action Bb Save in Update condition dovrebbe essere inserito questo questo codice

:
<?php return array('provainsert2.id' => $form->data['gcb']); ?>
ed in Force save NO

Connection action invece lo eliminerei del tutto
: Re:Chronoconnectivity V5 duplica i record
: jurassic 01 Oct 2015, 20:36:51
Buona sera Vales.
Ho seguito le tue ultime indicazioni ma continua a duplicare i record.
Possiamo fare altre prove? Può esserci una strada diversa per fargli fare le modifiche?
CF e CC  V5 sono estensioni potenti possibile che sia così complicato modificare i record?
Di nuovo grazie.
: Re:Chronoconnectivity V5 duplica i record
: ermanno64 02 Oct 2015, 13:40:18
 >:( anche a me duplica i record. posso modificarli solo se inserisco a mano il codice id identificativo univoco del record. automaticamente non riesce a leggerlo in edit onde per cui in fase di salvataggio dopo la modifica lo trova vuoto e lo memorizza come nuovo inserendo il numero id automaticamente.
: Re:Chronoconnectivity V5 duplica i record
: vales 02 Oct 2015, 14:56:48
Benvenuto nella comunità italiana di Joomla ermanno64,

la registrazione del record corrente avviene quando di passa un valore della chiave primaria del record diverso da 0 e uguale a quello del record da registrare.

normalmente la connection fornisce, nell'url del link che chiama, tale valore nel parametro gcb.

il valore di tale parametro va recuperato con le modalità sopra dette $form->data['gcb']

e viene assegnato alla chiave primaria della tabella usata inserendo

:
<?php return array('provainsert2.id' => $form->data['gcb']); ?>
 in update condition della Db save.

Se questi passaggi per qualche motivo non avvengono in modo corretto e nell'ordine giusto la registrazione non avviene.
: Re:Chronoconnectivity V5 duplica i record
: vales 02 Oct 2015, 21:29:29
Vedo ora una cosa che mi era sfuggita con la precedente lettura

L'action DB Read nel form va posta sempre prima di HTML (Render form) ed normalmente questa action è sempre l'ultima in On load. Altrimenti i valori del form non sono inizializzati correttamente.

Prova a fare questa modifica.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 03 Oct 2015, 10:11:58
Salve Vales.
Ho effettuato la modifica mettendo in On load per primo DB Read e per ultimo HTML Render form  ma continua a duplicare i record.
 In On submit DB Save è primo.
Il fatto che vengono duplicati i record può dipendere da Chronoconnectivity?
: Re:Chronoconnectivity V5 duplica i record
: vales 03 Oct 2015, 10:51:27
Ho visto nei backup che la action della connection è sempre impostata con il Code, praticamente un altro form.

Imposta la chiamata del form in Form event della action con prova_modifica:load e togli il code

Segnalo che vi sono due connection con lo stesso nome. In caso di chiamata della connection da un menu, ci saranno problemi. Cambia il nome ad una.
: Re:Chronoconnectivity V5 duplica i record
: jurassic 03 Oct 2015, 12:32:59
Ho tolto il code e impostato la chiamata con prova_modifica:load.
Ma così facendo quando cliccando su modifica non visualizzo più i dati registrati sulla tabella MySql. Cioè, le due
textarea dedicate a visualizzare i dati risultano vuote. Vedo i dati solo se tolgo prova_modifica:load.
Ho modificato la connessione a una delle due ma continua a duplicare i record.
: [Risolto]Chronoconnectivity V5 duplica i record
: jurassic 03 Oct 2015, 22:01:59
Adesso funziona.
Vales ti ringrazio per il prezioso aiuto.
: Re:[RISOLTO]Chronoconnectivity V5 duplica i record
: ermanno64 06 Oct 2015, 13:58:08
purtroppo anche mettendo il codice che mi hai dato Vales, non funziona. sicuramente sono io che non riesco ad inserirlo bene. sono neofita e non ho trovato manuale o tutorial che sopiega come fare ad usare chronoforms e chronoconnectivity. mi sa che o trovo qualche manuale in aiuto o rinuncio all'impresa.
Grazie comunque alla comunita'. :)
: Re:[RISOLTO]Chronoconnectivity V5 duplica i record
: vales 06 Oct 2015, 15:29:56
purtroppo anche mettendo il codice che mi hai dato Vales, non funziona. sicuramente sono io che non riesco ad inserirlo bene. sono neofita e non ho trovato manuale o tutorial che sopiega come fare ad usare chronoforms e chronoconnectivity. mi sa che o trovo qualche manuale in aiuto o rinuncio all'impresa.
Grazie comunque alla comunita'. :)

puoi elencare in sequenza le action che hai inserito in On load e On submit nel form ed i loro settaggi e come ai configurato la Connection ?
: Re:[RISOLTO]Chronoconnectivity V5 duplica i record
: ermanno64 06 Oct 2015, 16:52:30
utilizzando ***** e il modulo wrapper di joomla sono riuscito ad inserire all'interno del sito gia' esistente in joomla, anche il sito creato con *****. molto ma molto piu' facile e piu' alla portata di neofiti come me ;) . grazie ugualmente

edit: no a citazione prodotti commerciali.