簡體   English   中英

如何在php codeigniter中將動態生成的表數據保存到mysql數據庫

[英]How to save dynamic generated table data to mysql database in php codeigniter

我在PHP代碼點火器中創建了一個Web應用程序,它生成包含員工收入,扣除計算的表。 因為我是CI的新手。 我試圖將動態生成的表數據保存到數據庫,但失敗了。 我沒有得到如何將表數據POST到Controller。 歡迎任何幫助。

function index()
{

    if($this->input->post("submit"))
    {
         $vals=$this->cpanel_model->esic();
     if($vals){
        $data['w_share']=$vals->w_share;
        $data['e_share']=$vals->e_share;
     }

    $data["wshare"]="";
        //echo $data['w_share'];
        $city=$_POST["city"];
        $v1= $data['w_share'];
        $v2= '100';
        $v3= $data['e_share'];
        $arr=$_POST["wid"];
        $arr1=$_POST["days"];
        $arr2=$_POST["payment"];
        $arr3=$_POST["wdays"];
        for ($i=0; $i <count($arr1) ; $i++)
         { 
            $net[$i]=($arr2[$i]/$arr3[$i])*$arr1[$i];

            $wshare[$i]=($net[$i]/$v2)*$v1;
            $eshare[$i]=($net[$i]/$v2)*$v3;
            $total[$i]=$eshare[$i]+$wshare[$i];
            $wdays[$i]=$arr3;
            $days[$i]=$arr1;
         }
         $data["net"]=$net;
         $data["wshare"]=$wshare;
         $data["total"]=$total;
         $data["eshare"]=$eshare;
         $data["wdays"]=$arr3;
         $data["days"]=$arr1;
         $data["list"]=$this->payment_model->search($city);
         $this->load->view("secure/php-version/esic",$data);

    }

  <?php echo form_open('esic/insert',array("role"=>"form")); ?>
             <div class="table-responsive">
               <table border="1" id="t01"  class="table table-striped table-bordered table-hover table-condensed">
<tr>
  <th>Worker_id</th>
  <th>Worker Name</th>
  <th>Worker City</th>
  <th>Designation</th>
  <th>Working Days</th>
   <th>Basic Payment</th>
   <th>Net Payment</th>
  <th>Present Days</th>
  <th>Worker Share (1.75%)</th>
  <th>Employee Share (4.75%)</th>
  <th>Total</th>
</tr>
<?php $i=0; $sum2=0; ?>
<?php  if(count($list)>0) { foreach ($list as $std) {?>
  <tr>
  <?php echo form_hidden("wid[]",$std["wid"]); ?>
  <?php echo form_hidden("wdays[]",$wdays); ?>
  <?php  echo form_hidden("payment[]",$std["payment"]); ?>
  <td><?php echo $std["wid"]; ?></td>
  <td><?php echo $std["wname"]; ?></td>
  <td><?php echo $std["city"]; ?></td>
   <td><?php echo $std["designation"]; ?></td>
   <td><?php echo $wdays[$i]; ?></td>
  <td><?php echo $std["payment"]; ?></td>
   <td><?php echo $net[$i]; ?></td>
<td><?php echo $days[$i]; ?></td>  
   <td><?php echo $wshare[$i];  ?></td>
  <td><?php echo $eshare[$i];  ?></td>
  <td><?php echo $total[$i];  ?></td>
  <?php $sum2 += $std["payment"]; ?>
    </tr>
<?php $i++;}}?>
<tr>
<?php
$sum=0;
$sum1=0;
$sum3=0;
$sum4=0;
$sum5=0;
$i=0;
foreach ($total as $value) {
  $sum = $sum + $value;
  $i++;
}
foreach ($days as $value) {
  $sum1 = $sum1 + $value;
  $i++;
}
foreach ($eshare as $value) {
  $sum3 = $sum3 + $value;
  $i++;
}
foreach ($wshare as $value) {
  $sum4 = $sum4 + $value;
  $i++;
}
foreach ($net as $value) {
  $sum5 = $sum5 + $value;
  $i++;
}
 ?>
<td>
  &nbsp;
</td>
<td>
  &nbsp;
</td>
<td>
  &nbsp;
</td>
<td>
  &nbsp;
</td>
<td>
  &nbsp;
</td>
<td style="font-weight:bold; font-size:10pt;">
  <?php echo $sum2; ?>
</td>
<td style="font-weight:bold; font-size:10pt;">
  <?php echo $sum5; ?>
</td>
<td style="font-weight:bold; font-size:10pt;">
 <?php echo $sum1; ?>
</td>
<td style="font-weight:bold; font-size:10pt;">
<?php echo $sum4; ?>
</td>
<td style="font-weight:bold; font-size:10pt;">
<?php echo $sum3; ?>
</td>
<td style="font-weight:bold; font-size:10pt;">
 <?php echo $sum; ?>
</td>
</tr>
</table>

</div>
         <?php echo form_submit(array("name"=>"submit","type"=>"submit","value"=>"Create ESIC")); ?>
<?php echo form_close(); ?>

它不太清楚你當前如何生成表格,但無論如何,當你生成表格時,你必須將它放在一個表格中,並為輸入分配鍵。 試試這種方法:

HTML(這些是生成表時應該得到的結果)

<form action="<?= base_url() ?>table_data" method="post">
    <table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Earnings</th>
                <th>Deduction</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><input type="hidden" name="table[0][name]" value="name1">name1</td>
                <td><input type="hidden" name="table[0][earning]" value="earning1">earning1</td>
                <td><input type="hidden" name="table[0][deduc]" value="deduc1">deduc1</td>
            </tr>
            <tr>
                <td><input type="hidden" name="table[1][name]" value="name1">name1</td>
                <td><input type="hidden" name="table[1][earning]" value="earning1">earning1</td>
                <td><input type="hidden" name="table[1][deduc]" value="deduc1">deduc1</td>
            </tr>
        </tbody>
    </table>
    <input type="submit" value="Submit this table">
</form>

控制器:

function table_data() {
    if ($this->input->post()) {
        $table_data = $this->input->post('table');
        $this->load->model('model_name');
        $this->model_name->insert_table_data($table_data);
    }
}

模型:

function insert_table_data($table_data){
    $this->db->insert_batch('mytable', $table_data); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM