从视图脚本中选择正确的记录

时间:2015-04-21 17:38:20

标签: php zend-framework2 zend-db

我正在努力熟悉Zend Framework 2.我尝试了每个组件的不同可能性。现在我正在测试viewscripts以更好地获取详细信息。麻烦的是,我不明白如何选择要删除的正确记录。我总是第一个。

我在html中有一个viewcript:

<table>
    <tr>
        <th>Tag</th>
        <th>Datum</th>
        <th>Zeit</th>
        <th>Thema</th>
        <th></th>
    </tr>
    <?php 
        $lodge = new Application_Model_DbTable_Arbeitskalender();
        $i=1;
        foreach($this->aktermine as $termin) :      
    ?>    
    <tr>
        <td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->nr);?></td>
        <td class="row_<?PHP echo $i % 2;?>"><?php echo $this->day($termin->datum);?></td>
        <td class="row_<?PHP echo $i % 2;?>"><?php echo $this->date($termin->datum);?></td>
        <td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->zeit);?></td>
        <td class="row_<?PHP echo $i % 2;?>"><?php echo $this->escape($termin->thema);?></td>
        <td  class="row_<?PHP echo $i % 2;?>">
            <a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'edit', 'kopfnr'=>$termin->kopfnr));?>">
            <img src="Images/Icons/edit.jpg" width="16" height="16" title="Termin editieren" /></a>
        </td>
        <td  class="row_<?PHP echo $i % 2;?>">
            <a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'delete', 'kopfnr'=>$termin->kopfnr));?>">
            <img src="Images/Icons/minus.jpg" width="16" height="16" title="Termin entfernen"/></a>
        </td>
        <td  class="row_<?PHP echo $i % 2;?>">
            <a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'add', 'kopfnr'=>$termin->kopfnr));?>">
            <img src="Images/Icons/plus.jpg" width="16" height="16" title="neuer Termin"/></a>
        </td>
    </tr>
    <?php 
        $i=$i+1;
        endforeach; 
    ?>

如果我使用删除操作,我会始终获得第一条记录。如何选择正确的记录,这是如何工作的?我有一个建议,那是因为图标。在另一个视图中,我有链接而且它有效。那么如何使用图标呢?这也是我的删除操作:

public function deleteAction()
{
    if ($this->getRequest()->isPost()) {
        $del = $this->getRequest()->getPost('del');
        if ($del == 'Yes') {
            $nr = $this->getRequest()->getPost('nr');
            $aktermine = new Application_Model_DbTable_Aktermine();
            $aktermine->deleteTermine($nr);
        }
        $urlOptions = array('controller'=>'aktermine', 'action'=>'index');          
        //redirector = Seitenaufruf controller, action
        $this->_helper->redirector->gotoRoute($urlOptions);
    } else {
        $nr = $this->_getParam('kopfnr', 0);
        $aktermine = new Application_Model_DbTable_Aktermine();
        $this->view->aktermine = $aktermine->getTermine($nr);
    }
 }

1 个答案:

答案 0 :(得分:0)

问题解决了。我的get函数中有一个(复制/粘贴)错误,我使用外键而不是主键。