我在获取复选框更改的时间和日期时遇到问题。
我有一个名为“panel”的MySQL数据库,其中充满了用户的条目,每个条目在数据库中都有一个“状态”字段,该字段可以是“1”或“0”。 我使用此状态来查看谁在线并将复选框样式设置为按钮,1 = 绿色,0 = 灰色。
现在我想在状态发生变化时获取当前系统时间并将其写入文本文件。
例如: 当状态从0变为1时,将以下文本写入文档中: [当前时间] + [MySQL 数据库中的用户名] + “已登录”
当状态由1变为0时,写入: [当前时间] + [mySQL 数据库中的用户名] + “已注销”
这是我的代码:
#this is where I change the status field in MySQL
<?php
$id = $_POST["id"];
$update = mysql_query("update panel
SET status = CASE
WHEN status = '1' THEN '0'
WHEN status = '0' THEN '1'
END
WHERE id = $id")
?>
#this is where I execute the function
<td>
<script type="text/javascript" src="scripte/jquery-2.1.4.min.js"></script>
<script>
function save_checkbox(id)
{
$.post( 'save_check.php' , { checked : $(this).attr("checked"), id: id });
}
</script>
<div class="switch anws">
<input type="checkbox" name="anw_status" value="1" onchange="save_checkbox(<?php echo "$row->id"; ?>);" <?php if ($row->status==1) echo "checked";?>>
<label class="label"><p><?php echo "$row->gender $row->person";?></p></label>
</div>
</td>
最佳答案
我建议为此在数据库中创建一个单独的表,而不是将其写入文本文件。
但是,这是写入 txt 文件的方法:
假设您在与 save_check.php
相同的文件夹中创建了一个名为 log.txt
的文本文件,那么当调用 save_check.php
时,您可以这样做:
首先添加一个sql查询来获取新的状态和用户名,并将它们设置为变量$state
和$name
然后
$my_file = 'log.txt';
$handle = fopen($my_file, 'a') or die('Cannot open file: '.$my_file);
if ($state == 0 {
$data = "\n" . date('m/d/Y h:i:s a', time()) . " " . $name . " logged out";
} else {
$data = "\n" . date('m/d/Y h:i:s a', time()) . " " . $name . " logged in";
}
fwrite($handle, $data);
fclose($handle);
\n
是为了保证换行。date('m/d/Y h:i:s a', time())
将获取当前时间并对其进行格式化fwrite
将追加到文件
关于javascript - 将复选框更改上的时间和日期写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45791927/