Php 交替行颜色我错过了什么
我没有收到任何错误,但没有显示任何表,我知道它不在准备好的语句上,但没有交互,它只是一个显示,所以没有SQL注入的机会 我错过了什么 您好,我已经编辑了长版本Php 交替行颜色我错过了什么,php,row,echo,Php,Row,Echo,我没有收到任何错误,但没有显示任何表,我知道它不在准备好的语句上,但没有交互,它只是一个显示,所以没有SQL注入的机会 我错过了什么 您好,我已经编辑了长版本 <?php echo "<table border='10' style='border-collapse: collapse;border-color: #0099FF;'>"; echo "<tr style='font-weight: bold;'>"; echo "<td width=
<?php
echo "<table border='10' style='border-collapse: collapse;border-color: #0099FF;'>";
echo "<tr style='font-weight: bold;'>";
echo "<td width='200' align='center'>NAme</td><td width='200' align='center'>Headhot</td><td width='200' align='center'>Date</td><td width='200' align='center'>Age</td>";
echo "</tr>";
include("dbopent.php");
$result = mysql_query("
SELECT N, Limg, Lpage, F, Age
FROM (
SELECT N, Limg, Lpage, F, Age
FROM (
SELECT N, Limg, Lpage, F, CURDATE( ) , (
YEAR( CURDATE( ) ) - YEAR( F )
) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( F, 5 ) ) AS Age
FROM ACT)alias
WHERE Age BETWEEN 30 AND 39)ALIAS
");
while($row=mysql_fetch_array($result))
$color="1";
{
if($color==1){
echo "<tr bgcolor='#000000'>";
echo "<td align='center' width='10'>" . $row['N'] . "</td>";
echo "<td align='center' width='10'>" . "<a href=\"{$row['Lpage']}\"><img src=\"{$row['Limg']}\">" . "</td>";
echo "<td align='center' width='10'>" . $row['F'] . "</td>";
echo "<td align='center' width='10'>" . $row['Age'] . "</td>";
echo "</tr>";
}
else {
echo "<tr bgcolor='#FFFFFF'>";
echo "<td align='center' width='10'>" . $row['N'] . "</td>";
echo "<td align='center' width='10'>" . "<a href=\"{$row['Lpage']}\"><img src=\"{$row['Limg']}\">" . "</td>";
echo "<td align='center' width='10'>" . $row['F'] . "</td>";
echo "<td align='center' width='10'>" . $row['Age'] . "</td>";
echo "</tr>";
$color="1";
}
}
echo '</table>';
?>
你可以写选择
另外,混合使用PHP和HTML代码是不好的做法。看看MVC。第一个问题是SQL语句中没有FROM子句。有效查询如下所示: 从条件=某物的表格中选择* 您可以定义不带引号的整数:$color=1;必须为$color=1;此外,您应该将其添加到开放的卷曲括号之后
while($row=mysql_fetch_array($result))
{
$color = 1;
// rest of the code
}
另外,请把错误报告全部放进去;在“开始”标记后的脚本顶部,以便在屏幕上显示任何错误
您还应该更好地解释您的问题,因为您不清楚自己想要什么。将颜色定义为1。。。在每个循环上增加。做一个模数基数2,看看是否有余数,如果有,它是奇数,否则它是偶数
$color = 1;
while($row=mysql_fetch_array($result))
{
$color++;
if ($color % 2 == 0){
$outputColor = "#7b7b7b";
} else {
$outputColor = "#fff";
}
echo "<tr bgcolor='".$outputColor."'>";
echo "<td align='center' width='10'>" . $row['Name'] . "</td>";
echo "<td align='center' width='10'>" . "<a href=\"{$row['page']}\"><img src=\"{$row['img']}\">" . "</td>";
echo "<td align='center' width='10'>" . $row['date'] . "</td>";
echo "<td align='center' width='10'>" . $row['Age'] . "</td>";
echo "</tr>";
}
这不会重复所有不必要的代码。。而是定义颜色并输出一次
但是,您应该真正使用css样式,因为我不认为所有浏览器都支持带有背景色的TR
有点像回声;
而是将$outputColor设置为“奇数”或“偶数”
然后
.奇数td{背景色:7b}
.甚至td{background color:fff}您从哪个表中选择?你有两个select,没有表名?select语句很好,我只是简化了它的一个很长的函数,有很多别名,但是看代码,不清楚他到底想要什么。你能添加一些上下文并解释一下为什么这样做吗?