有人能告诉我我出了什么问题吗?
我试图改变CSS风格,要求使用PHP。
<?php
include 'connect.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="refresh" content="10">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<title>Lista de mensajes</title>
</head>
<body>
<div class="container-fluid mb-10">
<table class="table table-striped fs-2">
<thead class="text-uppercase">
<tr>
<th scope="col" class="col-sm-2">fecha</th>
<th scope="col">mensaje</th>
<th scope="col" class="col-sm-1">prioridad</th>
</tr>
</thead>
<tbody>
<?php
$sql="SELECT * FROM mensajes WHERE 1 ORDER BY prioridad DESC,fecha DESC";
$resultado=mysqli_query($con,$sql);
while($row=mysqli_fetch_assoc($resultado)){
$id=$row['id'];
$hotel=$row['hotel'];
$mensaje=$row['mensaje'];
$fecha=new datetime($row['fecha']);
$fecha=$fecha->format('d-m-y H:i:s');
$prioridad=$row['prioridad'];
if($prioridad==true){
echo '<tr class="text-danger">';
}else{
echo '<tr>';
}
echo '<td scope="row">'.$fecha.'</td>
<td>'.$hotel." - ".$mensaje.'</td>
<td>'.$prioridad.'</td>
</tr>';
}
?>
</tbody>
</table>
<?php
if(!mysqli_close($con)){
die(mysqli_error());
}
?>
</div>
</body>
</html>HTML输出似乎是正确的,但我只能看到最后一个红色条目。
<table class="table table-striped fs-2">
<thead class="text-uppercase">
<tr>
<th scope="col" class="col-sm-2">fecha</th>
<th scope="col">mensaje</th>
<th scope="col" class="col-sm-1">prioridad</th>
</tr>
</thead>
<tbody>
<tr class="text-danger"><td scope="row">23-10-22 10:58:54</td>
<td>PLB - rojo OOOO?</td>
<td>1</td>
</tr><tr class="text-danger"><td scope="row">23-10-22 08:58:02</td>
<td>BPC - BPC y prioridad</td>
<td>1</td>
</tr><tr><td scope="row">24-10-22 08:01:54</td>
<td>BPK - TEST</td>
<td>0</td>
</tr><tr><td scope="row">23-10-22 10:26:29</td>
<td>BGA - Prueba BGA con prioridad</td>
<td>0</td>
</tr>
</tbody>
</table>connect.php只需用一个表连接到mysql数据库。
当优先级为真或1时,我想用红色显示文本。
提前感谢
发布于 2022-10-24 14:11:09
首先,不要使用while进行数据库获取。使用替代if
其次,类似于$avar=areturn()的东西永远是真的,所以您应该在循环之前分别定义$row。
https://stackoverflow.com/questions/74180688
复制相似问题