Joomla.it Forum
Non solo Joomla... => Sviluppo => : 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.....
... ;)
-
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!
-
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
-
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?
-
Vorrei che uscisse ERRORE!!!
...e quindi obblighi a compilare tutti i campi!!
-
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...