【问题标题】:checking previous row value and display the next row accordingly检查上一行的值并相应地显示下一行
【发布时间】:2017-01-08 22:28:36
【问题描述】:

如何检查,如果上一行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) == 'completed' {display the button else hide} 。附上查看图片

enter image description here

【问题讨论】:

  • 您应该只发布相关代码。
  • 编辑了我的帖子@jeroen
  • 你能展示你如何迭代行吗? (for循环?)

标签: javascript php codeigniter codeigniter-2


【解决方案1】:

如果我理解正确 - 你想访问 foreach 中的前一个“Row”值

为了做到这一点,你可以尝试这样的事情

我假设您的键是数字并且以 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
        }


    }
}

更好的解决方案是实现 ArrayIterator http://php.net/manual/de/class.arrayiterator.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多