简体   繁体   中英

Searching a table row for specific text in a COLUMN and HIGHLIGHT

I retrieve information from a database and i create a table. I have a column name Status and almost all of its values is equal to 'A'. There are some values though that are equal to 'C'. I want the rows that the column of status is equal to 'C' the background color to be red.

my code doesn't seem to work and i think is the javascript part.

Any help is welcome.

My code is this:

<thead>

   <tr>
        <th>Dongle</th>
        <th>ActDate</th>
        <th>ModDate</th>
        <th>Client</th>
        <th>Company</th>
        <th>Activation</th>
        <th>Comments</th>
        <th>Status</th>
   </tr>

</thead>

<SCRIPT type="text/javascript">

$(document).ready(function(){
    $('table tr').each(function(){
       if($(this).find('td').eq(3).text() == 'C'){
          $(this).css('background','red');
       }
    });
});

</SCRIPT>

<?php

$queryString = $_SESSION['clientid'];

$Server = "something\sqlexpress";
$user = "some";
$password = "thing";

$database = "Something";
$connectionInfo = array( "Database"=>$database,"UID"=>$user, "PWD"=>$password);
$link = sqlsrv_connect($Server, $connectionInfo);

if ($link === false) {
    echo "Connection failed. \n";
    die(print_r(sqlsrv_errors(), true));
}                                   

$Reseller = $_SESSION["Seller"];

$strSQLSel= "SELECT Dongle AS Dongle, ActDate AS ActDate, 
             ModDate AS    ModDate, Client AS Client, Company AS Company, 
             Activation AS Activation,
             Comments AS Comments, Status AS Status
             FROM Licenses
             WHERE Reseller = '$Reseller' 
             GROUP BY Dongle,ActDate,ModDate,Client,Company,Activation,Comments,Status";

$result = sqlsrv_query($link,$strSQLSel);
While ($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC)){

?>

<tbody>
    <tr>
      <td><p><?php echo $row['Dongle']; ?></p></td>
      <td><p><?php echo date_format($row['ActDate'],'Y-m-d'); ?></p></td>
      <td><p><?php echo date_format($row['ModDate'],'Y-m-d'); ?></p></td>
      <td><p><?php echo $row['Client']; ?></p></td>
      <td><p><?php echo $row['Company']; ?></p></td>
      <td><p><?php echo $row['Activation']; ?></p></td>
      <td><p><?php echo $row['Comments']; ?></p></td>
      <td><p><?php echo $row['Status']; ?></p></td>
    </tr>

<?php
    }   
?>

</tbody>
</table>

Change your code to

    <tbody>
while ($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC)){
$cls = ($row['Activation']=='C') ? "style='background-color:red'" : "";
?>


    <tr <?php echo $cls;?>>
      <td><p><?php echo $row['Dongle']; ?></p></td>
      <td><p><?php echo date_format($row['ActDate'],'Y-m-d'); ?></p></td>
      <td><p><?php echo date_format($row['ModDate'],'Y-m-d'); ?></p></td>
      <td><p><?php echo $row['Client']; ?></p></td>
      <td><p><?php echo $row['Company']; ?></p></td>
      <td><p><?php echo $row['Activation']; ?></p></td>
      <td><p><?php echo $row['Comments']; ?></p></td>
      <td><p><?php echo $row['Status']; ?></p></td>
    </tr>

<?php
    }   
?>

Try:

<tr style='<?php echo ($row["Status"] == "C") ? "background-color: red" : "" ?>'>
    <td><p><?php echo $row['Dongle']; ?></p></td>
    <td><p><?php echo date('Y-m-d', $row['ActDate']); ?></p></td>
    <td><p><?php echo date('Y-m-d', $row['ModDate']); ?></p></td>
    <td><p><?php echo $row['Client']; ?></p></td>
    <td><p><?php echo $row['Company']; ?></p></td>
    <td><p><?php echo $row['Activation']; ?></p></td>
    <td><p><?php echo $row['Comments']; ?></p></td>
    <td><p><?php echo $row['Status']; ?></p></td>
</tr>

CSS:

tr.red-status {background-color: red;}

PHP template, table tbody:

<tbody>
    <?php
    $result = sqlsrv_query($link, $strSQLSel);
    while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) :
    ?>
        <tr class="<?php echo ($row['Status'] == 'C') ? 'red-status' : '' ?>">
            <td><p><?php echo $row['Dongle']; ?></p></td>
            <td><p><?php echo date_format($row['ActDate'],'Y-m-d'); ?></p></td>
            <td><p><?php echo date_format($row['ModDate'],'Y-m-d'); ?></p></td>
            <td><p><?php echo $row['Client']; ?></p></td>
            <td><p><?php echo $row['Company']; ?></p></td>
            <td><p><?php echo $row['Activation']; ?></p></td>
            <td><p><?php echo $row['Comments']; ?></p></td>
            <td><p><?php echo $row['Status']; ?></p></td>
        </tr>
    <?php endwhile; ?>
</tbody>
EASY TO USE AND VERY SIMPLE:   

 $(document).ready(function () {
            $(".searchCls").val("");
            //Script to search item group in table
            $('.searchCls').keyup(function () {
                var inputval = $(this).val();
                var table = $('#WBSTreeList');
                var search = $('.searchCls');
                if(inputval != '' && inputval != null){
                table.find('tr').each(function (index, row) {
                    var allCells = $(row).find('td');
                    if (allCells.length > 0) {
                        var found = false;
                            allCells.each(function (index, td) {
                                var regExp = new RegExp(inputval, 'i');
                                if (regExp.test($(td).text())) {
                                    found = true;
                                    return false;
                                }
                            });
                            if (found == true) {
                                $(row).show().addClass('match');
                            }

                            else {
                                $(row).hide();
                            }
                    }
                });
                }
                else {
                    table.find('tr').each(function (index, row) {
                        $(row).show().removeClass('match');
                    });
                }
            });
        });

    HTML:
    <input type="text" id="searchtxt" class="searchCls width-100" placeholder="Search ...">

    <div class="col-sm-12 col-xs-12 table-responsive">
        <table id="WBSTreeList" class="table table-bordered width-100">
            <thead>
                <tr>
                    <th></th>
                    <th></th>
                </tr>
            </thead>
            <tbody>
    <tr>
    <td>
    </td>
    </tr>
    </tbody>
    </table>
    </div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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