欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP如何取查询结果中的最大值并赋予style

程序员文章站 2024-01-21 23:22:40
...
现从数据库X表中取出a,b,time三个字段的值。
如果查询结果中a的值为小明的话,则背景色为#96,字体颜色为白色。
现需要再加一个条件,如果time(类型为datetime)为距离现在最近的时间,则该行所有字段的字体变为红色。
请问如何设置$time_style。
同时满足以上两个条件。
以下代码为满足第一个条件的:

$sql = "select a,b,time from X";
$rst = mysql_query($sql);
while($row=mysql_fetch_assoc($rst)){
$vip_style = $row['a']=="小明" ? ' style=" background-color:#096;color:white;"' : '';
echo " {$row['a']} {$row['b']} {$row['time']} ";}


回复讨论(解决方案)

你可以 $sql = "select a,b,time from X order by time desc;
取第一条 数据 ;如果这条数据满足a==小明 ,就变红 。这样不就满足两个条件了

必须先计算出时间差,然后才能知道谁最小
你想一遍循环就完成,是做不到的

你可以 $sql = "select a,b,time from X order by time desc;
取第一条 数据 ;如果这条数据满足a==小明 ,就变红 。这样不就满足两个条件了



怎么取?

必须先计算出时间差,然后才能知道谁最小
你想一遍循环就完成,是做不到的



或者说我如何取出最大的time值那一行的所有字段进行style设置?


你可以 $sql = "select a,b,time from X order by time desc;
取第一条 数据 ;如果这条数据满足a==小明 ,就变红 。这样不就满足两个条件了



怎么取?
$row=mysql_fetch_row[$sql];



你可以 $sql = "select a,b,time from X order by time desc;
取第一条 数据 ;如果这条数据满足a==小明 ,就变红 。这样不就满足两个条件了



怎么取?
$row=mysql_fetch_row[$sql];



你可以 $sql = "select a,b,time from X order by time desc;
取第一条 数据 ;如果这条数据满足a==小明 ,就变红 。这样不就满足两个条件了



怎么取?
$row=mysql_fetch_row[$sql];
不好意思 应该是
$result=mysql_query($sql);
$row=mysql_fetch_row[$result];