2017-04-10 12 views
0

私はPHP CodeIgniterを使用しています。テーブル行をポストし、コントローラのポスト値を取得したい場合、コントローラは正常に動作していますが、値をポストできません。PHP CodeIgniterがテーブル行からデータを投稿しない

私はそれを正常に作成するのは、値が投稿されないことだけです。

すべての行ではなく、テーブルの1つの行から値を送信したいとします。

は、ここでは、このと間違っていくつかのものがあり、私のフォームコード

<div class="row" id="attendance_list"> 
    <div class="col-sm-offset-3 col-md-6"> 
     <table class="table table-bordered"> 

      <thead> 
       <tr> 
        <td><?php echo get_phrase('student_id');?></td> 
        <td><?php echo get_phrase('roll');?></td> 
        <td><?php echo get_phrase('name');?></td> 
        <td><?php echo get_phrase('Theory');?></td> 
        <td><?php echo get_phrase('Practical');?></td> 
        <td><?php echo get_phrase('Send Remarks');?></td> 
        <td><?php echo get_phrase('SEND');?></td> 
       </tr> 
      </thead> 
      <tbody> 

       <?php echo form_open(base_url() . 'index.php?admin/send_message_to_perent/create' , array('class' => 'form-horizontal form-groups-bordered validate','target'=>'_top'));?> 


       <?php 
        $students = $this->db->get_where('student' , array('class_id'=>$class_id))->result_array(); 
         foreach($students as $row): 


         <tr class="gradeA"> 

          <td> 

          <input type="hidden" name="student_id" value="<?php echo $row['student_id'];?>"> 
          <?php echo $row['student_id'];?> 


          </td> 


          <td> 
          <?php echo $row['roll'];?>      

          </td> 

          <td><?php echo $row['name'];?></td> 


       <!-- For Theory Attendance--> 



          <td> 

          <?php echo number_format((float)$theoryPercentage, 0, '.', ''); ?> % 

          </td>  





       <!-- For Practical Attendance--> 



          <td> <?php echo number_format((float)$practicalPercentage, 0, '.', ''); ?> % </td> 



        <td> 

          <input type="textarea" name="notice" value="<?php echo $row['notice'];?>"> 




        </td> 

       <td> 

         <div class="form-group"> 
          <div class="col-sm-offset-3 col-sm-5"> 
           <button type="submit" class="btn btn-info"><?php echo get_phrase('SEND');?></button> 
          </div> 
         </div> 



       </td> 


         </tr> 
        <?php endforeach;?> 



      </form>   
      </tbody> 

     </table> 
    </div> 
</div> 
+0

フォームを開くときにメソッド= "POST"が見つかりませんでした。 –

+0

私もそれを試みたが、それは動作していない – AndroidHacker

+0

あなたの行動は大丈夫ですか? –

答えて

2

です。 CodeigniterはMVCフレームワークなので、その基準に準拠する必要があります。 https://softwareengineering.stackexchange.com/questions/127624/what-is-mvc-really

特に、ビューの内部でデータベース呼び出しを行うべきではありません。データベース呼び出しはモジュール内にあり、コントローラからのビューに渡されます。

その他の項目:? を閉じるには忘れた>foreach ($students as $row) : 後これは、無効な入力タイプ<input type="textarea"

である私は本当に完全に質問を理解していなかったと私はあなたがのために新しいフォームを望んでいたかどうかわかりませんでしたそれ自身の送信ボタンが付いた各行は、1つの送信ボタンで1つの大きなフォームが必要でした。

私が提供している答えは、1つの送信ボタンで1つの大きなフォームが必要だったと仮定しています。

<?php echo form_open(base_url() . 'index.php?admin/send_message_to_perent/create' , array('class' => 'form-horizontal form-groups-bordered validate','target'=>'_top'));?> 
<?php 
foreach ($students as $row) : 
?> 
     <tr class="gradeA"> 
      <td> 
      <input type="hidden" name="student_id[]" value="<?php echo $row['student_id'];?>"> 
      <?php echo $row['student_id']; ?> 
      </td> 
      <td><?php echo $row['roll'];?>      
      </td> 
      <td><?php echo $row['name'];?></td> 
<!-- For Theory Attendance--> 
<td><?php echo number_format((float)$theoryPercentage, 0, '.', ''); ?> % 
</td> 
<!-- For Practical Attendance--> 
<td> <?php echo number_format((float)$practicalPercentage, 0, '.', ''); ?> % </td> 
<td><textarea rows="4" cols="50" name="notice[]"><?php echo $row['notice'];?></textarea></td> 

</tr> 
<?php endforeach;?> 
<tr><td colspan="5"><div class="form-group"> 
     <div class="col-sm-offset-3 col-sm-5"> 
      <button type="submit" class="btn btn-info"><?php echo get_phrase('SEND');?></button> 
     </div> 
    </div> 
    </td> 
</tr> 
</form> 

ここに、各行のフォームがあります。

<?php 
foreach ($students as $row) : 
?> 
<?php echo form_open(base_url() . 'index.php? 
    admin/send_message_to_perent/create' , 
array('class' => 'form-horizontal form-groups-bordered validate','target'=>'_top'));?> 
<tr class="gradeA"> 
    <td> 
     <input type="hidden" name="student_id" value="<?php echo $row['student_id'];?>"> 
     <?php echo $row['student_id']; ?> 
    </td> 
    <td><?php echo $row['roll'];?></td> 
    <td><?php echo $row['name'];?></td> 
    <!-- For Theory Attendance--> 
    <td><?php echo number_format((float)$theoryPercentage, 0, '.', ''); ?> % </td> 
    <!-- For Practical Attendance--> 
    <td> <?php echo number_format((float)$practicalPercentage, 0, '.', ''); ?> % </td> 
    <td><textarea rows="4" cols="50" name="notice"><?php echo $row['notice'];?></textarea></td> 
</tr> 
<tr><td colspan="5"> 
    <div class="form-group"> 
     <div class="col-sm-offset-3 col-sm-5"> 
      <button type="submit" class="btn btn-info"><?php echo get_phrase('SEND');?></button> 
     </div> 
    </div> 
    </td> 
</tr> 
</form> 
<?php endforeach;?> 
+0

データを転記していますが、特定の行の値をすべての行の値だけではなく、値を転記したいとします。 – AndroidHacker

+0

一行から値を転記する方法を教えてください。 – AndroidHacker

+0

OK - 各行はそれ自身のフォームになり、入力値には配列マーカーを使用する必要はありません。 – Johnish

関連する問題