Robster
10-05-2012, 13:45
Cześć,
Mam kolejny "problem" na tablicy. Zapisuję sobie do bazy danych wypełniony formularz:
function save(){
global $mainframe;
$row =& JTable::getInstance('Matronic', 'Table');
if(!$row->bind(JRequest::get('post'))) {
JError::raiseError(500, $row->getError() );
}
$row->Nazwa_kategorii = JRequest::getVar( 'nazwa_kategorii', '','post', 'string', JREQUEST_ALLOWRAW );
$row->Opis_kategorii = JRequest::getVar( 'opis_kategorii', '','post', 'string', JREQUEST_ALLOWRAW );
if(!$row->store(false)){
JError::raiseError(500, $row->getError() );
}
$mainframe->redirect('index.php?option=com_matronic', 'Message Saved'); }
I wszystko ładnie śmiga. Problem jest jednak z pustymi polami. Chcę by wpis do bazy mógł być dodany, tylko w przypadku uzupełnienia wszystkich pól. Wiem, że mogę to zrobić w tradycyjny sposób, jak to w formularzach ma miejsce, ale z tego co czytałem powinna to za mnie zrobić funkcja store().
Nawet specjalnie wpisałem jej parametr false, co powinno spowodować jej niewykonanie w przypadku natrafienia na pusty rekord, a tu kapa, bo pole jest dodawane.
Dodam jeszcze plik tabeli:
class TableMatronic extends JTable {
var $Id_kategorii = null;
var $Nazwa_kategorii = null;
var $Opis_kategorii = null;
function __construct(&$db) {
parent::__construct('#__kategorie','id', $db);
}
}
Id_kategorii, jest oczywiście uzupełniane automatyczne.
Jednym słowem, coś jest źle zrobiłem, czy ta funkcja działa prawidłowo?
Mam kolejny "problem" na tablicy. Zapisuję sobie do bazy danych wypełniony formularz:
function save(){
global $mainframe;
$row =& JTable::getInstance('Matronic', 'Table');
if(!$row->bind(JRequest::get('post'))) {
JError::raiseError(500, $row->getError() );
}
$row->Nazwa_kategorii = JRequest::getVar( 'nazwa_kategorii', '','post', 'string', JREQUEST_ALLOWRAW );
$row->Opis_kategorii = JRequest::getVar( 'opis_kategorii', '','post', 'string', JREQUEST_ALLOWRAW );
if(!$row->store(false)){
JError::raiseError(500, $row->getError() );
}
$mainframe->redirect('index.php?option=com_matronic', 'Message Saved'); }
I wszystko ładnie śmiga. Problem jest jednak z pustymi polami. Chcę by wpis do bazy mógł być dodany, tylko w przypadku uzupełnienia wszystkich pól. Wiem, że mogę to zrobić w tradycyjny sposób, jak to w formularzach ma miejsce, ale z tego co czytałem powinna to za mnie zrobić funkcja store().
Nawet specjalnie wpisałem jej parametr false, co powinno spowodować jej niewykonanie w przypadku natrafienia na pusty rekord, a tu kapa, bo pole jest dodawane.
Dodam jeszcze plik tabeli:
class TableMatronic extends JTable {
var $Id_kategorii = null;
var $Nazwa_kategorii = null;
var $Opis_kategorii = null;
function __construct(&$db) {
parent::__construct('#__kategorie','id', $db);
}
}
Id_kategorii, jest oczywiście uzupełniane automatyczne.
Jednym słowem, coś jest źle zrobiłem, czy ta funkcja działa prawidłowo?