2017-06-30 78 views
1

“KOHANA FRAMEWORK”提交按钮如何获取选中的复选框值以及如何在数据库中插入。 我的页面有两个字段文本框和第二个复选框。 我试图插入复选框和文本框的值,但文本框的值可能会得到,但复选框的值不是。如何在“KOHANA FRAMEWORK”中获得多个复选框值?

=====> add.php

<?php echo form::open('backend/notifications/add/', array('enctype' => 'multipart/form-data')) ?> 

<div class="staffWrapper"> 

      <h2 style="float: left;">List Companies</h2> 
      <div class="clear"></div> 



      <table style="width:100%; table-layout:fixed;" border="0"> 
       <tr> 
        <th width="20"><input type='checkbox' id='selectall' style='width:15px;'/></th> 
        <th width="210">Name</th> 
        <th width="100">Contact Person</th> 
        <th width="100">Phone</th> 
        <th width="210">Email</th> 
        <!-- <th width="80" colspan="2">Actions</th> --> 
       </tr> 

       <?php 
       if (count($companies)) { 
        $i = (isset($_GET['page']) ? ($_GET['page']-1)*50+1 : 1); 
        foreach ($companies as $company) {  

         echo $i % 2 ? '<tr class="even">' : '<tr class="odd">'; 
         // echo "<td align='center'>" . $i . "</td>"; 
         echo "<td align='center'>"; 
         echo '<input type="checkbox" id="PILIH" name="PILIH[]" class="PILIH" value='.$company['id'].' style="width:15px;"/>'; 
         echo "</td>"; 
         echo "<td>" . $company['name'] . "</td>"; 
         echo "<td>" . $company['contact_person'] . "</td>"; 
         echo "<td>" . $company['phone'] . "</td>"; 
         echo "<td>" . $company['email'] . "</td>"; 
         $i++; 
        } 
       } else if (empty ($companies) && $searchKey){ 
        echo '<tr class="odd">'; 
        echo '<td colspan="7" align="center"><h3>No mathcing results were found for this search term.</h3></td>'; 
        echo '</tr>'; 
       } else if (empty ($companies)){  
        echo '<tr class="odd">'; 
        echo '<td colspan="7" align="center"><h3>There are no companies.</h3></td>'; 
        echo '</tr>'; 
       } 
       ?> 
      </table> 

     <?php echo $pagination; ?> 
     </div> 

<div class="clear"></div> 

    <div style="float:right; margin-right: 335px; padding:10px 0 10px 0;"> 
     <?php echo form::submit('', 'Create Notifications', array('class' => 'submit')) ?> 
    </div> 

    <div class="clear"></div> 
    <?php echo form::close(); ?> 

回答

0

以相同的方式如在纯PHP。

$PILIH = !empty($_POST['PILIH'])?$_POST['PILIH']:Array(); // pure PHP 
$PILIH = Array::get($_POST, 'PILIH', Array()); 
$PILIH = $this->request->post('PILIH', Array()); //Where $this is Controller 
$PILIH = Request::current()->post('PILIH', Array()); 

其结果是,您将获得由公司ID或空数组的数组,因此:

$company_id = NULL; 
$q = DB::query(Databse::INSERT, 'INSERT INTO foo (company_id) VALUES (:company_id)')->bind(':company_id', $company_id); 
foreach($PILIH AS $company_id) { 
    $q->execute(); 
} 

你没有给太多的输入,所以:幸福的代码分析。 AndRTFM