我在项目中创建了一个内部电子邮件系统。当我收到一条新消息时,表中带有主题名称的列将以粗体显示,表示该消息尚未阅读。
代码:
<?php
while($row = mysqli_fetch_array($result))
{
?>
<section id="s1">
<div class="div1" id="minhaDiv" style="float: left;">
<table class="table table-bordered">
<tr>
<th width="20%">De</th>
<th width="60%">Assunto</th>
<th width="10%">Prioridade</th>
<th width="10%">Recebido</th>
</tr>
<tr>
<th width="10%" colspan=4>Recebido: <?php echo $row["Data"]; ?></th>
</tr>
<tr>
<td><?php echo $row["De"]; ?></td>
<td class="td-info view_data" id="<?php echo $row["Id"]; ?>" data-toggle="modal" href="#dataModal" width="20%" style="font-weight:bold" onclick="this.style['font-weight'] ='normal'"><?php echo $row["Assunto"]; ?></td>
<td><?php echo $row["Prioridade"]; ?></td>
<td><?php echo $row["Hora"]; ?></td>
</tr>
<tr>
<?php
}
?>
</table>
</div>
</section>
在已被单击以读取的绿色包围的图像中,红色尚未被读取,因此它为粗体:
我使用此代码在td
中加粗:
width="20%" style="font-weight:bold" onclick="this.style['font-weight'] ='normal'"
问题是,即使刷新了页面,即使在阅读消息后,它们也会以粗体显示,因此不应该。单击一次后,不能将其保留为粗体
答案 0 :(得分:0)
解决方案要达到的条件。
我在数据库表中创建了一个Status
字段,其中1是未读消息,0则消息被读取,现在是使用if
在td中创建条件。在打开模式的javascript中,进行了以下更改:
$('.td-info').click(function(){
var item_id = $(this).attr("id");
var status = $(this).attr("Status");
$.ajax({
url:"./fetchRAD",
method: "POST",
data:{item_id:item_id, status:status},
success:function(data){
}
});
});
在td
中,我在id
的{{1}}中指出了记录的id
:
td
带有id="<?php echo $row["Id"]; ?>"
的文件:
php
像这样放置if(isset($_POST["item_id"]))
{
$query = "Update centrodb.Alertas SET Status = '0' WHERE Id = '".$_POST["item_id"]."'";
$result = mysqli_query($conn, $query);
}
中的帕塔克支票:
td
width="20%" <?php echo $row["Status"] == '1'?' style="font-weight:bold" ':' style="font-weight:normal" '?>
完成:
td