2016-07-21 11 views
0

jQueryとJavaScriptの新機能です。私は小さな質問があります。のは、私は第八列の日付は、行が強調表示されなければならない日よりも古いかどうかをチェックしたい、次の日付が昨日より古い場合、どのように行をハイライト表示できますか?

<?php 
    include 'dbconnect.php'; 

    $sql = "SELECT * FROM Comments";    

    $result = mysqli_query($conn,$sql); 
    if (!$result) { 
     echo '<div>no comments were set up</div>'; 
    } 
    $fields_num = mysqli_num_fields($result); 

    echo "<h1>Table: {$table}</h1>"; 
    echo "<table id='myTable' border='1'><tr>"; 
    // printing table headers 
    for($i=0; $i<$fields_num; $i++) 
    { 
     $field = mysqli_fetch_field($result);      
     echo "<td>{$field->name}</td>";      
    } 
    echo "</tr>\n"; 
    // printing table rows 
    while($row = mysqli_fetch_row($result)) 
    { 
     echo "<tr>"; 

     // $row is array... foreach(..) puts every element 
     // of $row to $cell variable 
     foreach($row as $cell) 
     echo "<td>$cell</td>"; 
     //delete button 
     echo "<td><input type='button' value='Delete' onclick='deleteRow(this)'></td>"; 
     //checkbox button 
     echo "<td><input type='checkbox' value='Highlight' onclick='highlight(this)'></td>"; 
     echo "</tr>\n"; 
    } 
    mysqli_free_result($result);    
?> 

のようなHTMLテーブルがあるとしましょう。どのように進めることができますか?

私はコードを発見したが、これは動作していない:

  function checkdate(){ 
      $('#myTable tr td').each(function() { 
      var dtTd = new Date($(this).html()); 
      var dtNew = new Date(); 
      // 15 minutes is 900000 milliseconds 
     // getTime() doc - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime 
      if (dtTd.getTime() - dtNew.getTime() < 900000 && dtNew < dtTd) { 
      $(this).css("background-color", "red"); 
      } else { 
      if (dtNew > dtTd) { 
      $(this).css("background-color", "yellow"); 
      } 
      } 
      }); 
      } 
+2

必要に –

+0

古いが、その後、別のCSSクラスを使用する場合、比較、8番目の列に日付を読みますこれをハイライトしてください。​​<入力タイプ= 'チェックボックス'値= 'ハイライト' onclick = 'ハイライト(これ)'> ";'? –

+0

PHPで生成するときにjqueryでこれを行うことができるのはなぜですか? –

答えて

0

はこれを試してみてください:

$date = date('Y-m-d'); 
foreach($row as $cell) 
{ 
    if($cell['date'] < $date) 
    { 
     // for date less then today's date 
    } 
    else 
    { 
     // for others date 
    } 
} 
+0

if($ cell ['date'] <$ date) { echo ''; } ブロックすると、これを入れます –

+0

これは機能しません。私はテーブルの名前を持っている、私は値を検索したい列のヘッダーとそれは昨日よりも古い必要があります。ありがとう –

+0

コードは次のように挿入されます:$ date = new Date( 'Y-m-d-h-m'); foreachの($セルとして$行) { IF($細胞[ 'CommentsDate'] - $日付<24) { //日付未満今日の日付 } 他 { $(この)。 css( "背景色"、 "黄色"); } }動作していません:( –

関連する問題