我有一个fruit.html:
<html>
<body>
<script>// Script To Request Fruit
function qCat() {
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("ajax1").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","fruit.php",true);
xmlhttp.send();
}
</script>
<button onClick="qCat()">Fruit</button>
<div id="ajax1"></div>
</body>
</html>
然后我有fruit.php:
<?php
$con = mysqli_connect('localhost','root','root','farm');
if (!$con) {die('Could not connect: ' . mysqli_error($con));}
mysqli_select_db($con,"farm");
$sql = "SELECT item, qty, price FROM fruit";
echo"<table >
<tr><th>No</th><th>Item</th><th>QTY</th><th>Price</th></tr>";
$i=0;
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
$i++;
echo "<tr><td>" .$i. "</td>
<td>" . $row['item']."</td>
<td>" . $row['qty']."</td>
<td>" . $row['price']."</td></tr>";
}
echo "</table>";
mysqli_close($con);
?>
当我点击按钮时,它成功返回了表格:
No Item QTY Price
1 Apple 0 9
2 Grape 9 7
3 Banana 3 9
4 Orange 0 9
现在,我想用红色将QTY列中的'0'数字着色。 QTY将随时改变取决于输入,但是当它为0时,它将在AJAX返回中变为红色。非'0'号码将始终为黑色。 (这只是一个有效的简单示例,但我的真实数据库超过1000行..)
请建议。感谢。
答案 0 :(得分:3)
我只想添加样式变量。
'
&#13;
答案 1 :(得分:1)
快速解决方法是在QTY为0时添加内联样式。
echo '<td style="color: '.($row['qty'] == 0)?'red':'black'.'">'.$row['qty'].'</td>';
但这不是公认的做法。检查时添加一个类,然后在fruit.html页面上添加
<style>
.zeroclass {
color: "red"
}
答案 2 :(得分:0)
最简单的是
$red = ($row['qty']) ? '' : 'red';
echo "<tr><td>" .$i. "</td>
<td>" . $row['item']."</td>
<td class=\"" . $red."\">" . $row['qty']."</td>
<td>" . $row['price']."</td></tr>";
}
然后定义
td.red { color: #f00; }
在你的CSS中
<强>加入强>
$red = ($row['qty']) ? '' : 'red';
是
if($row['qty']) {
$red = '';
} else {
$red = 'red';
}
答案 3 :(得分:0)
将类赋予行“tr”elem所以如果你想用背景突出显示或给它的DOM赋予颜色,将由css照顾。
$red = ($row['qty']) ? '' : 'red';
echo "<tr class=\"" . $red."\">"<td>" .$i. "</td>
<td>" . $row['item']."</td>
<td>" . $row['qty']."</td>
<td>" . $row['price']."</td></tr>";
}
并在CSS中:
table tr.red {
background: red;
}
答案 4 :(得分:0)
最后我自己解决了这个问题:
添加任何字符,说&#39; k&#39;
<?php
$con = mysqli_connect('localhost','root','root','farm');
if (!$con) {die('Could not connect: ' . mysqli_error($con));}
mysqli_select_db($con,"farm");
$sql = "SELECT item, qty, price FROM fruit";
echo"<table >
<tr><th>No</th><th>Item</th><th>QTY</th><th>Price</th></tr>";
$i=0;
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
$i++;
echo "<tr><td>" .$i. "</td>
<td>" . $row['item']."</td>
<td class='k" . $row['qty']."'>" . $row['qty']."</td>
<td>" . $row['price']."</td></tr>";
}
echo "</table>";
mysqli_close($con);
?>
&#13;
然后用CSS控制:
.k0 {
Color: Red;}
确实有效。