Как показать данные с флажками в Zend Framework - PullRequest
0 голосов
/ 27 января 2012

Я использую Zend Framework. В этом я создаю model и помещаю свое соединение с базой данных в эту модель. Вот мой код: -

public function getTagusers(){
    try {
        $stat = $this->db->query("select a.tagCode child, b.tagCode parent " .
                                 "from tag a, tag b where a.tagParentId=b.tagId");
        $aResultData = $stat->fetchall();   
    }
    catch(Exception $e){
        error_log('Exception in '.__FUNCTION__.' : line '.__LINE__.' : '
                  . $e->getMessage());  
    }  
    return $aResultData;
}

Теперь я использую действие в контроллере. Мой код до сих пор: -

public function listAction()
{
    $tagusers =new Admin_Model_DbTable_Tagusers();
    $this->view->taguser =$tagusers->fetchall();
}

Теперь, наконец, я хочу отобразить мои данные list.html. Мой код до сих пор: -

<script>
<!-- Begin
    function Check(chk)
    {
        if(document.myform.Check_ctr.checked==true){
            for (i = 0; i < chk.length; i++)
                chk[i].checked = true ;
        } else {
            for (i = 0; i < chk.length; i++)
                chk[i].checked = false ;
        }
    }
// End -->
</script>

<?php foreach($this->taguser as $taguser) ?>

    <form name="myform" action="checkboxes.asp" method="post">
        <b>Select Allowed keywords below:</b><br>
        <input type="checkbox" name="Check_ctr" value="yes"
         onClick="Check(document.myform.check_list)"><b>Select all keywords</b>
        <br>

        <input type="checkbox" name="check_list" value="1">
            <?php echo $this->escape($taguser->tagCode);?><br>

        <input type="checkbox" name="check_list" value="2">
            <?php echo $this->escape($taguser->tagParentId);?><br>
    </form>

Но я не могу правильно отобразить данные. Может кто-нибудь объяснить мне, что я могу сделать, чтобы повторить результат в соответствии с моим запросом.

Ответы [ 2 ]

0 голосов
/ 28 января 2012

сначала, если вы используете Zend Framework в качестве фреймворка в том виде, в каком он появляется ... ваша первая ошибка - это нормально, что для скриптов представления имеет расширение .phtml (я знаю, что вы, возможно, изменили это).

рядом с вашимphp неверен:

<?php foreach($this->taguser as $taguser): //need to colon for alternate loop syntax ?>

    <form name="myform" action="checkboxes.asp" method="post">
        <b>Select Allowed keywords below:</b><br>
        <input type="checkbox" name="Check_ctr" value="yes"
         onClick="Check(document.myform.check_list)"><b>Select all keywords</b>
        <br>

        <input type="checkbox" name="check_list" value="1">
            <?php echo $this->escape($taguser->tagCode); 
           //if this causes errors use
           //array notation $taguser['tagCode']?><br>

        <input type="checkbox" name="check_list" value="2">
            <?php echo $this->escape($taguser->tagParentId);?><br>
    </form>
<?php endforeach //need to end the foreach statement alternate syntax?>

Я не собираюсь критиковать вашу форму, если вы хотите создать отдельную форму для каждой записи, которая является вашим бизнесом.

0 голосов
/ 28 января 2012

Ну, вы печатаете N форм (где N = count ($ this-> taguser)), каждая из которых содержит 3 флажка с одинаковым значением ('yes', '1' и '2' соответственно) что не имеет никакого смысла.

Если я прав, ваша форма должна выглядеть так:

<form name="myform" action="checkboxes.asp" method="post">
    <b>Select Allowed keywords below:</b><br>
    <input type="checkbox" name="Check_ctr" value="yes"
     onClick="Check(document.myform.check_list)"><b>Select all keywords</b>
    <br>
<?php foreach($this->taguser as $taguser): ?>
    <input type="checkbox" name="check_list" value="<?php echo $this->escape($taguser->tagCode);?>">
        <br>

    <input type="checkbox" name="check_list" value="<?php echo $this->escape($taguser->tagParentId);?>">
        <br>
<?php endforeach; ?>

Тем не менее, вы должны прочитать о Zend_Form . Это будет трудно понять в начале, но оно того стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...