2012-01-27 8 views
0

私はZendフレームワークを使用しています。これで私はmodelを作成し、このモデルにデータベース接続を入れます。ここ は私のコードは、これまでのところです: -zend Frameworkでチェックボックスを使ってデータを表示する方法

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> 

しかし、データを適切にエコーすることができません。誰も私のクエリに応じて結果をエコーするために何ができるか私に説明することができます。

+0

私たちは、この量の情報であなたを少し助けることができます。どのようなアウトプットを得て、何を得ることを期待しましたか? – Hossein

答えて

0

あなたは同じ値(それぞれ 'yes'、 '1'、 '2')を持つ3つのチェックボックスを含むN個のフォーム(N = count($ this-> 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> 
<?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をお読みください。最初はそれを理解するのが難しいでしょうが、それは完全に価値があります。

0

最初に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?> 

あなたのビジネスだレコードごとに別々のフォームを構築したい場合は、私は、あなたのフォームを批判するつもりはありません。

関連する問題