Joomla.it Forum

Non solo Joomla... => Sviluppo => : e123456 21 Jul 2010, 17:51:13

: Edit e New
: e123456 21 Jul 2010, 17:51:13
Ciao a tutti,
sto cercando di sviluppare un mio componente... e a volte risulta essere un po' deprimente!!!!  :'(
Il mio scopo per ora è aggiungere dei campi alle tabelle della mia base dati.
Ho come bottoni modifica e nuovo.... è la seconda volta che mi capita
che tra i due non c'è alcuna differenza.
Mi spiego meglio: 
se seleziono un campo e poi clicco su modifica, innanzitutto nella text area
non mi appare il testo da modificare.. ma è completamente vuoto e se ci scrivo
qualcosa tornando all'elenco non ho modificato un bel nulla... ho aggiunto un record
(cosa che dovrebbe fare NEW).
Varie guide sottolineavano la banalità della questione perchè si tratta di effettuare dei controlli
sull'ID per capire se è nuovo o meno... ma a me non funziona.....
qualcuno mi sa aiutare?
Un ultima questione nella mia tabella ho 2 record (esculso l'ID) che sono stringe alle quali
ho messo il vincolo NOT NULL.... ma se inserisco dei record senza testo... il  db non mi da alcun errore...
come è possibile?
Aspettando un vostro aiuto
vi saluto e vi ringrazio.....
... ;)

: Re:Edit e New
: dmdigital 22 Jul 2010, 11:19:06
Varie guide sottolineavano la banalità della questione perchè si tratta di effettuare dei controlli
sull'ID per capire se è nuovo o meno... ma a me non funziona.....
Nella view, devi usare del codice simile a questo:
:
$row =& JTable::getInstance('TuaTabella','Table');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
$id = $cid[0];

if ($id > 0) {
$row->load($id);
}

Per quanto riguarda il null... Il fatto è che una stringa può essere vuota ma non null, e di default è questo il comportamento delle JTable: se un campo stringa l'hai lasciato vuoto, te lo salva come stringa vuota ma non null.

Ciao!
: Re:Edit e New
: e123456 22 Jul 2010, 20:21:36

Per quanto riguarda il null... Il fatto è che una stringa può essere vuota ma non null, e di default è questo il comportamento delle JTable: se un campo stringa l'hai lasciato vuoto, te lo salva come stringa vuota ma non null.


Ok, ho compreso il concetto... ma a questo punto come faccio ad ovviare...
cioè come faccio a non far memorizzare la stringa vuota nel db?
Grazie mille e ciao
: Re:Edit e New
: dmdigital 23 Jul 2010, 08:46:09
Non capisco: hai messo NOT NULL del DB... cosa vorresti che succeda quando salvi un record senza specificare i valori dei campi NOT NULL? Campi vuoti o errore?
: Re:Edit e New
: e123456 23 Jul 2010, 16:42:18
Vorrei che uscisse ERRORE!!!
...e quindi obblighi a compilare tutti i campi!!
 
: Re:Edit e New
: mmleoni 24 Jul 2010, 21:11:45
controllo lato client: javascript nella view di edit del recordset.
controllo lato server: implementazione del metodo check() nella classe derivata da JTable.

andrebbero entrambi ma il primo è tipicamente sufficiente.

ciao,
marco

ps: dai un occhiata al mio sito...