当我从数据库中读取内容时,如何突出显示表格行的背景颜色?有时两排。要突出显示的条件是第3列的值。
<?php
echo "<table id='allocation' class='inlineTable'>"; //style='border: solid 1px black;'
echo "<tr>";
echo "<th class=\"row-1 a_user\">User </th>";
echo "<th class=\"row-2 a_destination\">User </th>";
echo "<th class=\"row-3 a_tremaining\">Time Remaining </th>";
echo "<col = width: 3em />";
echo "</tr>";
echo "<col = width: 3em />";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width: 100px; border: 1px solid black;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "localhost";
$dbname = "mydb";
$user = 'root';
$port = 3306;
try{
$conn = new PDO("mysql:host=$servername;port=$port;dbname=$dbname", $user);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_fetch = $conn->prepare("SELECT user_ID, destination, trem FROM reservation_table");
$sql_fetch->execute();
$result = $sql_fetch->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows2(new RecursiveArrayIterator($sql_fetch->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
echo "</table>";
$conn = null;
?>
我可以请你帮忙吗?当trem
(第三列)中的值达到00:00时,我想突出显示或闪烁行。我现在的css非常基本/简单:https://jsfiddle.net/8Lfj3h0j/
真的需要帮助。
答案 0 :(得分:1)
$('#elementId').toggleClass('yourCSSclass');
如果这不是您的意思,那么请务必随意纠正我或澄清您的问题:)
编辑: 在你的php函数&#34;当前&#34;您可以使用if语句检查值是否为00.00。如果值为00.00,则调用javascript函数 它应该是这样的:
function current() {
if(parent::current()=="00.00"){
echo '<script type="text/javascript">'
, '$('#elementId').toggleClass('yourCSSclass');'
, '</script>'
;}else{}
return "<td style='width: 100px; border: 1px solid black;'>" . parent::current(). "</td>";
}
注意:我对RecursiveIterator类没有什么经验,所以我无法确定parent :: current()==&#34; 00.00&#34;会工作,但你应该得到检查值并调用js函数的一般想法。
编辑: 从评论粘贴的副本
<?php
$i=0; while($array=sqlsrv_fetch_array($data)){
$counterVariable=parent::current();
//not sure if the above line works this is just theory
?>
<tr data-id="<?php echo $i; ?>">
<td><?php echo $array['Product_id']; ?></td>
<td><?php echo $array['Product_name']; ?></td>
<td><?php echo $counterVariable ?></td>
</tr>
<?php $i=$i+1; }?>
答案 1 :(得分:0)
#allocation tr:nth-child(3n+3) {
color: #ccc;
}
对每个突出显示的第3列使用此css。