Zend Framework polska społeczność

Forum polskiej społeczności Zend Framework

Nie jesteś zalogowany.

#1 2010-03-08 17:51:37

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Problem z delete()

mam problem z usuwaniem danych z bazy danych. zaden blad sie nie wyswietla i nie mam pojecia w czym jest problem

model napisał:

class Application_Model_DbTable_Category extends Zend_Db_Table_Abstract
{
    protected $_name = 'category';
   
    public function deleteCategory($id)
    {
        $this->delete('id_category = '. (int)$id);
    }
}

controller napisał:

public function deleteAction()
    {
        $id = $this->getRequest()->getPost('id');
        $delCat = new Application_Model_DbTable_Category();
        $delCat->deleteCategory($id);
    }

Offline

 

#2 2010-03-08 18:43:54

NorthPole
Member
Od: Kraków
Zarejestrowany: 2007-09-28
Posty: 163

Re: Problem z delete()

powinno być tak:

Kod:

public function deleteCategory($id)
{
        $where = $this->getAdapter()->quoteInto('id_category = ?', (int)$id);
        $this->delete($where);
}

a więcej znajdziesz w manualu:
http://framework.zend.com/manual/en/zen … ble.delete
http://framework.zend.com/manual/en/zen … ite.delete

EDIT:: a poza tym to witaj na forum ;-)

Ostatnio edytowany przez NorthPole (2010-03-08 18:45:04)

Offline

 

#3 2010-03-08 19:59:41

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

dzieki!
ten kod tez nie dziala ;/

Offline

 

#4 2010-03-08 20:40:49

NorthPole
Member
Od: Kraków
Zarejestrowany: 2007-09-28
Posty: 163

Re: Problem z delete()

i zero błędów? a masz włączone raportowanie błędów w php?

Offline

 

#5 2010-03-08 21:29:23

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

mam wlaczone i zero bledow

Offline

 

#6 2010-03-09 08:10:46

zic
Member
Zarejestrowany: 2009-10-08
Posty: 60

Re: Problem z delete()

Co znaczy "nie działa"? Nie usuwa? Może problem leży gdzie indziej - nie ma przekazanej zmiennej post.

Offline

 

#7 2010-03-09 12:43:10

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

nie usuwa juz wiem ze nie przekazuje zmiennej metoda post bo jak zmienilem zeby przekazywalo id metoda get to dziala w czym moze byc problem ze nie wysyla id zmiennej metoda post?

Kod:

public function deleteAction()
    {
        $id = $this->getRequest()->getParam('id');
        $delCat = new Application_Model_DbTable_Category();
        $delCat->deleteCategory($id);
    }

Kod:

<form action="<?php echo $this->url(array('action'=>'delete')); ?>" method="post">
<table border="0">
<tr>
<td>czy chcesz usunac kategorie <?php echo $this->escape($this->category['name']); ?></td>
</tr>
<tr>
<td>
<input type="hidden" name="id" value="<?php $this->escape($this->category['id_category']);?>" />
<input type="submit" name="del" value="Yes" />
<input type="submit" name="del" value="No" />
</td>
</tr>
</table>
</form>

Offline

 

#8 2010-03-09 13:45:18

miSq
Member
Zarejestrowany: 2008-11-17
Posty: 78

Re: Problem z delete()

Z tego co wiem, a mogę się mylić

->getParam('id');

Odczytuje parametr id z linka a nie z forma.

Sprawdź tak:

$id= $this->_request->getPost('id');

Offline

 

#9 2010-03-09 13:59:27

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

tak zgadzam sie z toba ->getParm('id') dziala a ->getPost('id') nie dziala

Offline

 

#10 2010-03-09 15:17:29

miSq
Member
Zarejestrowany: 2008-11-17
Posty: 78

Re: Problem z delete()

Przekaż sobie ID w linku i odczytaj->getParm('id'), problemy z myśleniem?

Offline

 

#11 2010-03-09 16:12:24

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

przesylanie metoda GET działa! tylko nie wysyla meteda POST a ja chce zeby dane byly wysylane metoda POST

Offline

 

#12 2010-03-09 17:53:02

miSq
Member
Zarejestrowany: 2008-11-17
Posty: 78

Re: Problem z delete()

A sprawdź tak

<input type="hidden" name="id" value="<?php $this->category['id_category'];?>" />

$id = (int)$this->_request->getPost('id');

Przy metodzie POST.

Offline

 

#13 2010-03-09 19:01:37

pawel86k
Member
Zarejestrowany: 2010-03-08
Posty: 36

Re: Problem z delete()

problem rozwiazany smile cale zamieszanie bylo spowodowane  tym ze nie bylo echo i input nie posiadal zadnej wartosci smile ja mialem tak <input type="hidden" name="id" value="<?php $this->category['id_category'];?>" /> a ma byc tak <input type="hidden" name="id" value="<?php echo $this->category['id_category'];?>" /> dzieki wszystkim za wspolne rozwiazywanie problemu

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2008 PunBB