Joomla.it Forum

Non solo Joomla... => Sviluppo => : Elvis86 08 Sep 2008, 00:03:11

: Nuovo componente, non fa modifica dei dati ma solo inserimento
: Elvis86 08 Sep 2008, 00:03:11
Prima di tutto salve a tutti, 
Mi chiamo Elvis, ho creato un nuovo componente (joomla 1.5) per la gestione delle news in un sito web.
L'installazione ed il comportamento di questo componente sembra buono, non dà nessun errore, ha solamente un bug durante la modifica o l'inserimento di una news.
Mi spiego meglio.
Quando clicco su nuovo, dopo aver compilato i campi, mi viene inserita nel db una nuova news.
Quando clicco su una news ed entro nella modifica di quest'ultima, dopo aver effettuato le modifiche ai campi che voglio, mi viene fatto un inserimento di una nuova news invece che la modifica di quella selezionata.
Qualcuno mi sa aiutare?

Ringrazio tutti in anticipo

Per favore, se qualcuno mi può aiutare lo faccia  ;D

Elvis
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: = odino = 08 Sep 2008, 09:28:38
Quale codice SQL ( query ) hai usato? spero un UPDATE
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: Elvis86 08 Sep 2008, 19:57:43
Ciao, grazie della risposta...
Penso sia proprio questo il problema...
Non c'è nessun update da inserire, fa tutto da solo se gli passi i campi con lo stesso nome che hanno nel db.
C'è una funzione store che in base all'id (se è settato) fa l'update e (se non lo è) fa la insert...
io gli passo l'ID e lo visualizzo nella pagina di modifica/inserimento però sembra che non lo interpreti!!!

Grazie ancora Elvis
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: = odino = 08 Sep 2008, 20:47:26
allora usando un UPDATE in combinazione con un ciclo if di php hai risolto...
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: Elvis86 09 Sep 2008, 00:55:46
wow quanto mi sei stato di aiuto...
Vabbe, grazie comunque della risposta, almeno te mi hai cagato ;D...
Se a qualcuno servirà bastava cambiare il name della input di tipo hidden in fondo alla pagina "default.php" che solitamente si trova in:
cms/administrator/components/com_"nome componente"/views/pdevent/tmpl/
Quando viene fatto il submit del form in questa pagina vengono passati i dati alla index che controlla se l'id nella input sopra indicata è settato o meno.
In base a questo fa l'INSERT o l'UPDATE.
il name del della input dev'essere lo stesso definito solitamente nella pagina:
cms/administrator/components/com_"nome componente"/tables/pdevent.php

esempio:

function TablePDEvent(& $db) {
   parent::__construct('#__news', 'IDNEWS', $db);
}

Se qui l'identificativo viene chiamato con "id" anche la input dovrà avere lo stesso attributo "name"
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: Elvis86 09 Sep 2008, 00:58:35
CORREGGO UN PO DI ERRORI, SCUSATE MA è TARDI :D

Se a qualcuno servirà bastava cambiare il name della input di tipo hidden in fondo alla pagina "default.php" che solitamente si trova in:
cms/administrator/components/com_"nome componente"/views/pdevent/tmpl/
Quando viene fatto il submit del form che si trova in questa pagina vengono passati i dati alla index che controlla se l'id nella input sopra indicata è settato o meno.
In base a questo fa l'INSERT o l'UPDATE.
il name del della input dev'essere lo stesso definito solitamente nella pagina:
cms/administrator/components/com_"nome componente"/tables/pdevent.php

esempio:

function TablePDEvent(& $db) {
   parent::__construct('#__news', 'IDNEWS', $db);
}

Se qui l'identificativo viene chiamato con "IDNEWS" anche la input dovrà avere lo stesso attributo "name"
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: = odino = 09 Sep 2008, 08:57:17
wow quanto mi sei stato di aiuto...

...
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: ilovephp 09 Sep 2008, 11:01:53
oxford  :-\
: Re: Nuovo componente, non fa modifica dei dati ma solo inserimento
: = odino = 09 Sep 2008, 11:15:44
oxford  :-\

che dici, ilp?