Jump to content

add css code inside while loop <tr>


newphpcoder

Recommended Posts

hi...

 

I have query to display data and I use while loop.

 

here is my code:

echo "<table id='kanban_list'>";
echo "<tr>
        <th><label>Display Details:</label><input  onclick='showDetails(this);' id='chkDetail'   type='checkbox' checked='checked' value='wip'/></th>
        <th> PCODE </th>
        <th> LOT CODE </th>
        <th> CHEMICAL WEIGHING </th>
        <th> COMPOUNDING </th>
        <th> EXTRUSION </th>
        <th> FORMING </th>
        <th> DEFLASHING </th>
        <th> KANBAN </th>
        <th> VIRTUAL </th>
        <th> TOTAL </th>
        <!--<th> MIN LOT </th>-->
     </tr>";  
$sql = "SELECT DISTINCT kd.PCODE, kc.count_wip_chemical_weighing, kc.count_wip_compounding, kc.count_wip_extrusion, 
kc.count_wip_forming, kc.count_wip_deflashing, kc.kanban, kc.virtual, kc.total FROM kanban_checker kc JOIN kanban_data kd ON kc.PCODE = kd.PCODE
ORDER BY kc.PCODE";
$result = mysql_query($sql, $con); 
while($row = mysql_fetch_assoc($result)){            
    echo "<tr>
        <td>Total Lot ID (Lot)</td>
        <td> $row[PCODE]</td>  
        <td> </td>
        <td> $row[count_wip_chemical_weighing]</td>                                          
        <td> $row[count_wip_compounding]</td>
        <td> $row[count_wip_extrusion]</td>
        <td> $row[count_wip_forming]</td>
        <td> $row[count_wip_deflashing]</td>
        <td> $row[kanban]</td>
        <td> $row[virtual]</td>
        <td> $row[total]</td>
       <!-- <td> $row[min_lot]</td>  -->
        </tr>";
}

$sql = "SELECT DISTINCT kd.PCODE, kdc.count_doz_chemical_weighing, kdc.count_doz_compounding, kdc.count_doz_extrusion, 
kdc.count_doz_forming, kdc.count_doz_deflashing, kdc.kanban_doz, kdc.virtual_doz, kdc.total_doz FROM kanban_checker_doz kdc JOIN kanban_data kd ON kdc.PCODE = kd.PCODE
WHERE kd.PCODE = '$row[PCODE]'
ORDER BY kdc.PCODE";
$result_qty = mysql_query($sql, $con);

while ($row_doz = mysql_fetch_assoc($result_qty)){
     echo "<tr>
        <td>Total Qty (Doz)</td>
        <!--<td> </td>  -->
        <td> $row_doz[PCODE]</td> 
        <td> </td>
        <td> $row_doz[count_doz_chemical_weighing]</td>                                          
        <td> $row_doz[count_doz_compounding]</td>
        <td> $row_doz[count_doz_extrusion]</td>
        <td> $row_doz[count_doz_forming]</td>
        <td> $row_doz[count_doz_deflashing]</td>
        <td> $row_doz[kanban_doz]</td>
        <td> $row_doz[virtual_doz]</td>
        <td> $row_doz[total_doz]</td>
       <!-- <td> $row[min_lot]</td>  -->
        </tr>";   
}
echo "</table>";

 

sample data:

 

Display Details---Compound---Chemical Weighing-----etc...

---------------------P28------------1.00----------------------------

---------------------P28------------250.00------------------------

---------------------P30------------2.00--------------------------

---------------------P30------------520.00---------------------

---------------------P32------------1.00----------------------------

 

I need to add alternate background color per compound.

for example:

 

P28 green

P30 yellow

P32 green

P33 yellow

and so on.

 

Any help is highly appreciated.

 

Thank you

 

---------------------P32------------520.00-----------------------

---------------------P33------------4.00----------------------------

---------------------P33------------1000.00---------------------

Link to comment
Share on other sites

The mechanism is basically the same every time you want to do alternating anything in a loop:

$color = the first color you want to use
loop {
    print whatever you want using that $color

    $color = ($color == first color ? second color : first color);
}

That ?: line alternates the color: when it's one color it sets it to the other.

Link to comment
Share on other sites

hi..

already resolve this thread using this code:

 

while ($row_doz = mysql_fetch_assoc($result_qty)){ 
     if($row_doz[PCODE] == 'P28') {
        $css_class = 'blue-css-class-name';
    }
    elseif($row_doz[PCODE] == 'P30') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P32') {
        $css_class = 'blue-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P33') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P35') {
        $css_class = 'blue-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P35M') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P35W') {
        $css_class = 'blue-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P38') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P41') {
        $css_class = 'blue-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P42') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P43') {
        $css_class = 'blue-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P46') {
        $css_class = 'green-css-class-name';
    }
    elseif ($row_doz[PCODE] == 'P47') {
        $css_class = 'blue-css-class-name';
    }
    else{
        $css_class = '';
    }
    
    echo "<tr class='".$css_class."'>
        <td>Total Qty (Doz)</td>
        <!--<td> </td>  -->
        <td> $row_doz[PCODE]</td> 
        <td> </td>
       <!-- <td>$row[LOT_CODE]</td>   -->
        <td> $row_doz[count_doz_chemical_weighing]</td>                                          
        <td> $row_doz[count_doz_compounding]</td>
        <td> $row_doz[count_doz_extrusion]</td>
        <td> $row_doz[count_doz_forming]</td>
        <td> $row_doz[count_doz_deflashing]</td>
        <td> $row_doz[kanban_doz]</td>
        <td> $row_doz[virtual_doz]</td>
        <td> $row_doz[total_doz]</td>
       <!-- <td> $row[min_lot]</td>  -->
        </tr>"; 
         
}

 

thank you

Link to comment
Share on other sites

Foremost, if it's solved, please mark the thread as such. 

 

Secondly, what are you going to do every time there is a change in your PCODEs?  Are you going to manually add another conditional statement?  How about in the future when somebody else is working with the code, will it still maintain itself?

 

My suggestion to you would be to remove those unneeded conditional statements and simply apply the PCODE value as the class, to wit you could simply markup in your .CSS and never have to write another conditional regarding that again.

 

while ($row_doz = mysql_fetch_assoc($result_qty)){ 

echo "<tr class='". $row_doz[PCODE] ."'>

...

Link to comment
Share on other sites

No, in your previous post, you had set the value of $css_class to some color depending on the PCODE.  That is an unnecessary step as you could just identify the rwo by it's product code instead of same conditionally assigned value.

 

Example:

<tr class="P38">...</tr>
<tr class="P32">...</tr>

<style>
.P38 { color: blue; }
.P32 { color: green; }
</style>

 

The same thing is accomplished without the need for all those silly elseif conditionals. 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.