我有一個包含書籍列表的頁面,每一行都有一個複選框。 (我使用cakephp 1.2)。
我想讓用戶保存多本書。
現在我有這個複選框,在我看來,(在一個週期內,在那裏我得到的所有書籍列表):帶有cakephp 1.2的多個複選框
<?php echo $form->input('salva', array('value' => $cdBiblio['CdBiblio']['codiceBiblio'], 'label' => '', 'type' => 'checkbox')); ?>
這種形式:<?php echo $form->create('cd_biblios', array('action' => 'save')); ?>
,這個按鈕:
<?php echo $form->end('Add All');?>
在控制器中,我有這樣的調試:
debug($this->data);
foreach($this->data['cd_biblios']['salva'] as $item) {
debug($item);
}
但它不工作。
我注意到它只用調試($ this-> data)列表中最後一個book id;如果我檢查超過1本書,它顯示0或最後一本書ID,例如:
Array (
[cd_biblios] => Array
(
[salva] => 0
))
解決:
在我用丹尼爾的代碼視圖。
在控制器中我使用此代碼:
if(!empty($this->data)) {
$item=$this->data;
debug($item);
$dim=count($item['Model']['field']);
$i=0;
for ($i=0;$i<$dim;$i++)
if ($item['Model']['field'][$i]!=0)
{
$data = $this->Session->read('libri');
$data[] = $item['Model']['field'][$i];
$this->Session->write('libri', $data);
}
$this->Session->setFlash(__('I libri sono stati salvati', true));
$this->redirect($this->referer());
}
我越來越接近你的代碼:控制器我有$這個 - >數據,是所有書籍陣列(如果未選中,則爲0,如果選中,則爲id),如何循環? – Ettore 2013-02-11 14:02:21