简体   繁体   English

我想根据情况更改表格的行颜色

[英]I want to change row colors of a table according to the condition

 <tr  id="<?php echo $new_row['Ordering']['sid'].'-'.$count.'-'.$order_seq.'_'.$colorid;?>"
      <?php  if ($orderEntry['Order']['state'] == Order::FINALIZED_STATE_APPROVED)
             echo ' Approved"';
       else 
             echo 'Not Approved';?>"                                    
  ?>  >

I am a newbie to cakephp and php and currently i am getting only status of the first row.i want to apply this if condition to the entire table.please advise me. 我是cakephp和php的新手,目前我仅获得第一行的状态。如果条件适用于整个表,我想将此应用。请告知我。

this is my table in view: 这是我的表格:

       <div class="accBox">

                        <p class="accordianHead"><?php echo $fabric_ids[$cnt]['FabricRange']['name'];?> - <?php echo $fabric_ids[$cnt]['FabricRangeColour']['name'];?> - <?php echo $itemCount;?> Items<span class="floatRight"><?php /*?>56<?php */?></span></p>

                        <div class="accordianBody">

            <?php echo($form->create('FabricOrdering', array('action' => 'pur_wizard', "id" => "form_".$key))); ?>  

                            <table class="accTable" width="100%" border="0" cellspacing="0" cellpadding="0" id="item_tbl_<?php echo $key;?>">
                              <thead class="greyBg paddingHead"> 
                                    <tr>                
                                        <th width="9%">SBOS ID</th>
                                        <th width="9%">Width</th>
                                        <th width="9%">Drop</th>
                                        <th width="9%">PR</th>
                                        <th width="9%">Cut Direction</th>
                                        <th width="15%">Cut With</th>
                                        <th width="9%">Cut Length</th>
                                        <th width="9%">S.I.W</th>
                                        <th width="9%">Fabric Width</th>
                                        <th width="15%">&nbsp;</th>
                                    </tr> 


                                    <?php
foreach($finalizedOrderEntries as $orderEntry) 
{?>



                 </thead>  
                                <tbody>


                <?php                

                echo $this->Form->hidden('fabric_id',array('value' =>$fabric_ids[$cnt]['FabricOrdering']['fabric_id'], 'id' => 'fabric_id'.$key, 'name' => 'fabric_id'));
                echo $this->Form->hidden('fabric_colour_id',array('value' => $fabric_ids[$cnt]['FabricOrdering']['fabric_colour_id'],'id' => 'fabric_colour_id'.$key)); 


                $m=0;
                $val='';
                $chk_val='';
                $all_ids ='';
                $all_order_entry_item_ids='';
                $counter=1;
                $array_length = $itemCount;                             
                $check_order_entry_item_id = '';

                while($fabid==$fabric_ids[$cnt]['FabricOrdering']['fabric_id'] && $fabcolorid==$fabric_ids[$cnt]['FabricOrdering']['fabric_colour_id']){ // && $fabcolorid == $fabric_ids[$cnt]['FabricOrdering']['fabric_colour_id']
                // sub table body

                    $new_row = $fabric_ids[$cnt];   

                                  if($check_order_entry_item_id != $new_row['FabricOrdering']['order_entry_item_id']){

                                     $m = 0;
                                     $check_order_entry_item_id = $new_row['FabricOrdering']['order_entry_item_id'];
                                  }

                                  $count = $new_row['FabricOrdering']['fabric_order_sort'];
                                                                  $order_seq = $new_row['FabricOrdering']['fabric_order_seq'];      

                                  // $_o_e_i = $new_row['FabricOrdering']['sbos_id'];
                                  // echo $count;
                                  $id = $new_row['FabricOrdering']['id'];
                                  $order_entry_item_id = $new_row['FabricOrdering']['order_entry_item_id'];
                                  if($counter != $array_length){
                                       $all_ids .= $id.',';
                                       $all_order_entry_item_ids .= $order_entry_item_id.',';
                                  } else {
                                       $all_ids .= $id;
                                       $all_order_entry_item_ids .= $order_entry_item_id;
                                  }
                                  $val = $new_row['FabricOrdering']['sbos_id'];
                                  if($val != $chk_val) {
                                       $chk_val = $val;
                                  }
                                  $m++;



                              $cut_width_id_val = 'form_'.$key.'_cutwidth'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq;

                              $sbos_ids_arr = $complete_sbos_id_arr;

                              $cur_key = $new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq;

                              if(count($sbos_ids_arr) >= 1)
                              unset($sbos_ids_arr[$cur_key]);

                              ?>



                           <tr  id="<?php echo $new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq.'_'.$fabcolorid;?>" class="<?php echo ($orderEntry['OrderFinalized']['finalized_state'] != OrderFinalized::FINALIZED_STATE_APPROVED) ? 'approved' : 'unapproved' ; ?>" >


                                        <td><?php echo $new_row['FabricOrdering']['sbos_id'].' - '.$count.' - '.$order_seq;?>aa</td>
                                        <td><?php echo $new_row['FabricOrdering']['width'];
                                        echo $this->Form->hidden('width', array( 'value' => $new_row['FabricOrdering']['width'], 'label' =>  false, 'id'=>'form_'.$key.'width'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq ,  'name' => 'width'.$key.'[]','div' => false));
                                        echo $this->Form->hidden('fabric_color_id', array( 'value' => $fabcolorid, 'id' => 'tr_fabric_color_id'  ));
                                                                                echo $this->Form->hidden('fabric_front_or_back',array('value' => $fabric_ids[$cnt]['FabricOrdering']['fabric_front_or_back'],'id' => 'fabric_front_or_back'.$id));
                                        echo $this->Form->hidden('qty_id',array('value' =>$order_seq, 'id' => 'qty_id'.$id)); // here $order_seq maps with piq_no on order_item_workflows table. 
                                                                                echo $this->Form->hidden('line_id',array('value' =>$count,  'id' => 'line_id'.$id)); // here $count maps with order_seq on order_item_workflows table. 

                                                                                ?> 

                                                                                </td>
                                        <td><?php echo $new_row['FabricOrdering']['drop'];
                                        echo $this->Form->hidden('drop', array( 'value' => $new_row['FabricOrdering']['drop'], 'label' =>  false,'id'=>'form_'.$key.'drop'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq ,  'name' => 'drop'.$key.'[]','div' => false));
                                        ?></td>
                                        <td><?php echo $new_row['FabricOrdering']['pr'];?></td>
                                        <td>
                                            <label for="textfield"></label>
                                            <?php
                                            echo $this->Html->image('busy.gif', array('alt' => 'Ok','id'=>$id.'cut_directionbusy','style'=>'display:none;'));                                        $values ='';
                                            if($new_row['FabricOrdering']['cut_direction']=='3'){
                                                 $values = array('0'=> ' ','2' => 'Across', '1' => 'Down');
                                                }else{
                                                     $values = array('2' => 'Across', '1' => 'Down');
                                                }

                                            echo $this->Form->input('cut_direction', array('options' => $values, 'label' => '' ,'disabled'=> $new_row['FabricOrdering']['disabled'] ,'id'=>'form_'.$key.'cut_direction'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq , 'selected' => $new_row['FabricOrdering']['cut_direction'], 'onchange' => 'updateField("'.$key.'","'.$id.'", "cut_direction", this.value,null,null),updateCutWith("'.$id.'",this.value,"form_'.$key.'_cutlength'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq.'","'.$new_row['FabricOrdering']['width'].'","'.$new_row['FabricOrdering']['drop'].'");'));
                                            ?>
                                        </td>
                                        <td>
                                            <div class="form-group">
                                            <?php
                                            echo $this->Html->image('busy.gif', array('alt' => 'Ok','id'=>$id.'cut_widthbusy','style'=>'display:none;'));
                                            echo $this->Form->input('cut_width', array('options' => $sbos_ids_arr ,'label' => '','selected' => $new_row['FabricOrdering']['cut_width'], 'multiple'=>'multiple', 'class'=>'form-control, ms' ,'id'=>'form_'.$key.'_cutwidth'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq, 'disabled'=> $new_row['FabricOrdering']['disabled'], 'onchange' => 'updateField(null,"'.$id.'", "cut_width", this.value, null,null)'));
                        ?>        
                                            </div>
                                        </td>
                                        <td>

                                            <?php
                                            echo $this->Html->image('busy.gif', array('alt' => 'Ok','id'=>$id.'cut_lengthbusy','style'=>'display:none;'));
                                            $cut_direction_value='';
                                            if($new_row['FabricOrdering']['cut_direction']==1){
                                                $cut_direction_value =  $new_row['FabricOrdering']['drop']+50;
                                            } else if($new_row['FabricOrdering']['cut_direction']==2){
                                                $cut_direction_value =  $new_row['FabricOrdering']['width']+50;
                                            }
                                            echo $this->Form->input('cut_length', array('value' => ($new_row['FabricOrdering']['cut_length']==0)?$cut_direction_value:$new_row['FabricOrdering']['cut_length'], 'label' => '', 'disabled'=> $new_row['FabricOrdering']['disabled'] , 'onchange' => 'updateField(null,"'.$id.'", "cut_length", this.value, null,null),updateCutDirectionValue("'.$id.'",this.value,"form_'.$key.'cut_direction'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq.'","'.$new_row['FabricOrdering']['width'].'","'.$new_row['FabricOrdering']['drop'].',0");', 'id' => 'form_'.$key.'_cutlength'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq , 'name' => 'cut_length'.$key.'[]'));

             echo $this->Form->hidden('is_cutwith', array( 'value' => ($new_row['FabricOrdering']['cut_width']!="" && $new_row['FabricOrdering']['disabled']!=0 )? $new_row['FabricOrdering']['cut_width']: $new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq , 'label' =>  false,'id'=> 'is_cutwith'.$id ,  'name' => 'is_cutwith'.$key.'[]','div' => false));
             $_hidden_counter_value ='';

                        if($new_row['FabricOrdering']['disabled'] == "0" &&  $new_row['FabricOrdering']['cut_width'] !="0" && $new_row['FabricOrdering']['cut_width'] != NULL && $new_row['FabricOrdering']['cut_width'] != ''){
                            $_hidden_counter_value ='';
                            $_hidden_counter_value ="multicheck";
            }

                        if(($new_row['FabricOrdering']['disabled'] =='0') &&  $new_row['FabricOrdering']['cut_width']=='0' || $new_row['FabricOrdering']['cut_width']==NULL || $new_row['FabricOrdering']['cut_width']==''){
                            $_hidden_counter_value ='';
                            $_hidden_counter_value ="single";
                        }

                        if(($new_row['FabricOrdering']['disabled'] =='1')){
                            $_hidden_counter_value ='';
                            $_hidden_counter_value ="child";
                        }

                        echo $this->Form->hidden('hidden_counter', array( 'value' =>$_hidden_counter_value, 'label' =>  false,'id'=> 'hidden_counter'.$id ,  'name' => 'hidden_counter'.$key.'[]','div' => false));
                        ?>
                                        </td>
                                        <td>
                                            <?php 
                                            echo $this->Html->image('busy.gif', array('alt' => 'Ok','id'=>$id.'s_i_widthbusy','style'=>'display:none;'));
                                            echo $this->Form->input('s_i_width', array('class' => 'className', 'name'=> 's_i_width[]','type'=>'checkbox', 'value' => $id, 'label' => '','id'=>'form_'.$key.'s_i_width'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq));
                                            ?>
                                        </td>
                                        <td>
                                            <?php
                                            echo $this->Form->hidden('fabric_name',array('value' => $new_row['FabricRange']['name'],'id' => 'fabric_name'.$key));
                                            echo $this->Form->hidden('fabric_colour',array('value' => $new_row['FabricRangeColour']['name'],'id' => 'fabric_colour'.$key));
                                            echo $this->Form->hidden('sbos_id',array('value' => $new_row['FabricOrdering']['sbos_id'],'name' => 'sbos_id'.$key.'[]'));
                                            echo $this->Form->hidden('fabric_ordering_ids',array('value' => $id,'name' => 'fabric_ordering_ids'.$key.'[]'));
                                            echo $this->Html->image('busy.gif', array('alt' => 'Ok','id'=>$id.'fabric_widthbusy','style'=>'display:none;'));
                                            $values = array();

                                            foreach ($new_row['FabricRangeColour']['usable_width'] AS $usable_width){

                                                $values[$usable_width] = $usable_width;
                                            }

                                            echo $this->Form->input('fabric_width', array('options' => $values, 'default' => $new_row['FabricOrdering']['fabric_width'], 'label' => '', 'disabled'=> $new_row['FabricOrdering']['disabled'] , 'id'=>'form_'.$key.'fabric_width'.$new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq, 'name' => 'length'.$key.'[]','onchange' => 'updateField(null,"'.$id.'", "fabric_width", this.value, null,null)', 'value' => $new_row['FabricOrdering']['fabric_width'] ));
                                            ?>
                                        </td>
                                        <td>
                                            <span class="ico">
                                <?php echo $this->Html->link($this->Html->image('newIco.png', array('alt' => 'Edit')), array('controller' => 'order_entry_headers', 'action' => 'edit', $new_row['FabricOrdering']['order_entry_headers_id']), array('escape' => false, 'class' => 'ico', 'title' => 'New')); ?></span>
                                            <span class="ico">
                                <?php echo $this->Html->link($this->Html->image('editIco2.png', array('alt' => 'Edit')), array('controller' => 'order_finalizeds', 'action' => 'edit', $new_row['FabricOrdering']['order_filnalizeds_id'], $new_row['FabricOrdering']['order_entry_headers_id']), array('escape' => false, 'class' => 'ico', 'title' => 'Edit')); ?></span>

                                            <span class="ico">
                                <?php echo $this->Html->link($this->Html->image('exchangeIco.png', array('alt' => 'Exchange')), array('controller' => 'order_item_workflows', 'action' => 'manage_workflows', $new_row['FabricOrdering']['order_filnalizeds_id']), array('escape' => false, 'class' => 'ico', 'title' => 'Exchange')); ?></span>

                                            <span class="ico">
                                                <a href="javascript:void(0);" onclick="javascript:getNote('<?php echo $id;?>');">
                                                    <img alt="New Note" src="<?php echo $this->webroot;?>img/new1Ico.png"></a>
                                            </span>

                                            <span class="ico">
                                                <input type="checkbox" name="send_all[]" id="form_<?php echo $key; ?>send_all<?php echo $new_row['FabricOrdering']['sbos_id'].'-'.$count.'-'.$order_seq; ?>" class="className2" value="<?php echo $id;?>"  style="vertical-align: middle;margin: 0px;">
                                            </span>

                                        </td>
                                    </tr>
                                <?php 

                                /* $count++;
                                 $quantity--;
                                      }*/
                                    // $o_e_items =  $check_order_entry_item_id;

                              $counter++;                                                      

                                //} 
                              //}


                    $cnt++;
                }

                //$header = ob_get_clean();
                //$header = str_replace('[placeholder]', $count, $header);
                // footer
                //$fabid = $fabric_ids[$cnt]['FabricOrdering']['fabric_id'];

                ?>
                                <input type="hidden" name="all_ids" id="all_ids" value="<?php echo $all_ids?>">
                                <input type="hidden" name="all_order_entry_item_ids" id="all_order_entry_item_ids" value="<?php echo $all_order_entry_item_ids?>">
                                <tr>
                                    <td colspan="10" align="right" class="greyBg">
                                        <input name="siw" class="button_gray_sm1 radious_all verd12dgray btn-dark_gray  pushme" id="<?php echo $key;?>" type="button" value="Stock">
                                        <input name="submit" class="button_gray_sm1 radious_all verd12dgray btn-dark_gray  " type="button" value="Send to Purchase Wizard" style="width:172px;" onclick="javascript:sendToPurchaseWizard('<?php echo $key;?>', this);">
                                        <input name="siw" class="button_gray_sm1 radious_all verd12dgray btn-dark_gray  sendall" id="<?php echo $key;?>" type="button" value="Send All">
                                    </td>
                                </tr>
                                </td>  

                                <?php }?>
                            </table>

now i am getting a blank page its may be due to the where i put php tag in wrong place? 现在我得到一个空白页,这可能是由于我将php标签放在错误的地方?

You should just use a foreach loop which will iterate over $orderEntry["Order"]["state"] , something like: 您应该只使用一个foreach循环,该循环将遍历$orderEntry["Order"]["state"] ,例如:

<tr  id="<?php echo $new_row['Ordering']['sid'].'-'.$count.'-'.$order_seq.'_'.$colorid;?>"
<?php  
foreach($orderEntry as $item){
if ($item['Order']['state'] == Order::FINALIZED_STATE_APPROVED)
    {
         echo ' Approved';
    }
    else{ 
         echo 'Not Approved';
    }
}


  ?>  >
<tr  id="<?php echo $new_row['Ordering']['sid'].'-'.$count.'-'.$order_seq.'_'.$colorid;?>" class="<?php echo ($orderEntry['Order']['state'] == Order::FINALIZED_STATE_APPROVED) ? 'approved' : 'unapproved' ; ?>">

we have checked here if $orderEntry['Order']['state'] is equal to Order::FINALIZED_STATE_APPROVED then assign the class "approved" else assign "approved" 我们在这里检查$orderEntry['Order']['state']是否等于Order::FINALIZED_STATE_APPROVED然后分配类别“ approved”,否则分配“ approved”

Now you can assign different colors to the class "approved" and "unapproved" so that they look different. 现在,您可以为“已批准”和“未批准”类别分配不同的颜色,以使它们看起来有所不同。

EDIT: 编辑:

<?php
foreach($orderEntries as $orderEntry) {
?>
<tr  id="<?php echo $new_row['Ordering']['sid'].'-'.$count.'-'.$order_seq.'_'.$colorid;?>" class="<?php echo ($orderEntry['Order']['state'] == Order::FINALIZED_STATE_APPROVED) ? 'approved' : 'unapproved' ; ?>">
<?php
}
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM