我在更改复选框时遇到时间和日期时遇到问题。
我有一个名为"的面板"其中填入了用户条目,每个条目都有一个" status"数据库中的字段,即" 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>
答案 0 :(得分:0)
我建议在数据库中为此创建一个单独的表,而不是将其写入文本文件。
但是,这是你可以写入txt文件的方法:
我们假设您在与log.txt
相同的文件夹中创建了一个名为save_check.php
的文本文件,然后在调用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
将附加到文件