2016-09-01 5 views
4

前の行にある場合はexit_statusが完了しているかどうかをチェックし、それが完了したか保留中であるかどうかを確認するか、更新の更新ボタンを表示するか、CodeIgniter 。私はこれを実装するためのロジックを考えると、ここで私の見解コードであることはできません。前の行の値を確認してそれに応じて次の行を表示

<?php } else if($USER->permissions[0] == 'all' && $row['responsibility'] == $USER->email && $row['completion_status'] == 'Pending'&& $row['sequence']-1 == 'completed') { ?> 
 

 
<td style="width:10%"> 
 
    <input type="hidden" name="grievance_id" value="<?=$row['id']?>"> 
 
    <input type="hidden" name="action" value="update"> 
 

 
    <input type="submit" <?=($row[ 'checklist_id']=="Denied" ||$row[ 'checklist_id']=="Approved")? "disabled='true'": "";?>name="sumit_button" value="Update" class="btn" style="float:left;background:#d8d8d8;color:#000;box-shadow:0px 0px 1x rgba(0,0,0,0.2)!important;"> &nbsp;&nbsp; 
 

 
</td> 
 
<?php }

と前の行EXIT_STATUSが完了した場合にのみ、それを隠し、他の更新ボタンを開きます。 .. if($ row ['sequence'] - 1)== '完了' {ボタンを表示するelse hide}添付ビュー画像

enter image description here

+0

関連コードのみを投稿する必要があります。 – jeroen

+0

編集中投稿@jeroen – sunshine

+0

行をどのように反復処理するかを表示できますか? (forループ?) –

答えて

1

私が正しくあなたを理解している場合 - あなたはこの

ような何かを試すことができますことを行うために、foreachの

内の前の「行」値にアクセスしたいです私はあなたのキーが数字で、0から始まっていると仮定しました。

if(count($rows) > 0) 
{ 
    foreach($rows as $key => $row) 
    { 
     $prevRow = (isset($rows[($key-1)])) ? $rows[($key-1)] : false; 

     if($USER->permissions[0] == 'all' && $row['responsibility'] == $USER->email && $row['completion_status'] == 'Pending'&& ($prevRow && $prevRow['sequence'] == 'completed')) 
     { 

      //your code goes here 
     } 


    } 
} 

もっと良い解決策は01を実装することですArrayIterator http://php.net/manual/de/class.arrayiterator.php

関連する問題