wzd
03-06-2008, 15:39
witam serdecznie i proszę o pomoc
mam pewien problem z edycja w bazie więcej niż jednego pola
Sprawa ma się tak że nie potrafię przekazać wszystkich zmiennych z $_POST do zapisu. Nie wiem jak rozróżnić pola textboxow i jak później przekazać je do zapisu
serdecznie proszę o pomoc
tak to wygląda :
Model
class ASDetails extends mosDBTable
{
var $id_detail = null;
var $nazwa = null;
var $typ = null;
var $cena = null;
var $auto_id = null;
function ASDetails( &$db )
{
$this->mosDBTable( '#__autostand_details', 'id_detail', $db );
}
}
Kontroler
case 'edit':
$obj = new ASObject( $database );
$dane = new ASDetails( $database );
$query = 'Select * from #__autostand_details where auto_id = '.$obj->id.'';
$database->setQuery($query);
$wynik = $database->loadObjectList();
case 'save':
$obj = new ASObject( $database );
$dane = new ASDetails( $database );
if (!$obj->bind( $_POST )) {
echo "<script> alert('".$obj->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->bind( $_POST )) {
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
$obj->id = ($cid[0] > 0)? "" : mosGetParam($_POST,'id','');
$obj->obj_id = trim( $obj->obj_id);
$obj->created = $obj->created? $obj->created : date( "Y-m-d" );
$obj->created_by = $obj->created_by ? $obj->created_by : $my->id;
if (!$obj->check()) {
echo "<script> alert('".$obj->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$obj->store()) {
echo "<script> alert('".$obj2->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->check()) {
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->store())
{
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
Widok
<?php
if(count($wynik) > 0)
{
foreach ($wynik as $dane)
{
?>
<tr>
<td><input type="Text" name="nazwa" size="50" class="inputbox" maxlength="100" value="<?php echo $dane->nazwa ?>"/></td>
<td><input type="Text" name="typ" size="50" class="inputbox" maxlength="100" value="<?php echo $dane->typ ?>"/></td>
<td><input type="Text" name="cena" size="15" class="inputbox" maxlength="25" value="<?php echo $dane->cena ?>"/></td>
</tr>
<?php
}
?>
mam pewien problem z edycja w bazie więcej niż jednego pola
Sprawa ma się tak że nie potrafię przekazać wszystkich zmiennych z $_POST do zapisu. Nie wiem jak rozróżnić pola textboxow i jak później przekazać je do zapisu
serdecznie proszę o pomoc
tak to wygląda :
Model
class ASDetails extends mosDBTable
{
var $id_detail = null;
var $nazwa = null;
var $typ = null;
var $cena = null;
var $auto_id = null;
function ASDetails( &$db )
{
$this->mosDBTable( '#__autostand_details', 'id_detail', $db );
}
}
Kontroler
case 'edit':
$obj = new ASObject( $database );
$dane = new ASDetails( $database );
$query = 'Select * from #__autostand_details where auto_id = '.$obj->id.'';
$database->setQuery($query);
$wynik = $database->loadObjectList();
case 'save':
$obj = new ASObject( $database );
$dane = new ASDetails( $database );
if (!$obj->bind( $_POST )) {
echo "<script> alert('".$obj->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->bind( $_POST )) {
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
$obj->id = ($cid[0] > 0)? "" : mosGetParam($_POST,'id','');
$obj->obj_id = trim( $obj->obj_id);
$obj->created = $obj->created? $obj->created : date( "Y-m-d" );
$obj->created_by = $obj->created_by ? $obj->created_by : $my->id;
if (!$obj->check()) {
echo "<script> alert('".$obj->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$obj->store()) {
echo "<script> alert('".$obj2->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->check()) {
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$dane->store())
{
echo "<script> alert('".$dane->getError()."'); window.history.go(-1); </script>\n";
exit();
}
Widok
<?php
if(count($wynik) > 0)
{
foreach ($wynik as $dane)
{
?>
<tr>
<td><input type="Text" name="nazwa" size="50" class="inputbox" maxlength="100" value="<?php echo $dane->nazwa ?>"/></td>
<td><input type="Text" name="typ" size="50" class="inputbox" maxlength="100" value="<?php echo $dane->typ ?>"/></td>
<td><input type="Text" name="cena" size="15" class="inputbox" maxlength="25" value="<?php echo $dane->cena ?>"/></td>
</tr>
<?php
}
?>