Я использую среду Zend. В этом я создаю 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(); }
Теперь, наконец, я хочу, чтобы эхо мои данные в view 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>
Но я не могу правильно отследить данные. Может ли кто-нибудь объяснить мне, что я могу сделать, чтобы отразить результат в соответствии с моим запросом.
сначала, если вы используете Zend Framework как фреймворк, как он появляется … ваша первая ошибка – это нормально, когда viewscripts имеет расширение .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?>
Я не буду критиковать вашу форму, если вы хотите создать отдельную форму для каждой записи, которая является вашим бизнесом.
Ну, вы печатаете N форм (где N = count ($ this-> taguser)), каждый из которых содержит 3 флажка с одинаковым значением («да», «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 . Это будет трудно понять вначале, но это того стоит.