我有下面的 php 脚本来从数据库中获取数据并将其作为预订系统的一部分返回到日历中。标题字段,$row["title"]
实际上是每个预订的不同人的用户名。
一切正常,但我想改变一些事情,以便每个用户只能在日历上看到他们自己的用户名,而不是彼此的用户名。我希望他们看到“已预订”。
我对 php 很陌生,但我的猜测是我需要遍历创建的数组,如果它与登录用户不匹配$data
,则只更改字段。title
我认为这将来自我的登录脚本中的这个:
$_SESSION["username"] = $username; <=== I think this needs to be incorporated into the script and the php loop.
title
如果它与登录用户不匹配,我想要做的是用“预订”替换该字段。
我还需要允许所有用户也看到公共条目,例如unavailable
,holiday
-- 所以title
应该始终显示这些值。
<?php
$connect = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx');
$data = array();
$query = "SELECT * FROM events ORDER BY id";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
foreach($result as $row)
{
$data[] = array(
'id' => $row["id"],
'title' => $row["title"],
'start' => $row["start_event"],
'end' => $row["end_event"]
);
}
echo json_encode($data);
?>
假设 Mary 已登录。数据数组将如下所示:
[
{"id":"365","title":"Kerry","start":"2021-08-19 20:00:00","end":"2021-08-19 20:40:00"},
{"id":"366","title":"John","start":"2021-08-19 19:00:00","end":"2021-08-19 19:40:00"},
{"id":"367","title":"Mary","start":"2021-08-20 10:00:00","end":"2021-08-20 10:40:00"},
{"id":"368","title":"Mary","start":"2021-08-20 12:00:00","end":"2021-08-20 12:40:00"},
{"id":"369","title":"Betty","start":"2021-08-20 15:00:00","end":"2021-08-20 15:40:00"}
]
但我想在将其发送到日历之前将其更改为:
[
{"id":"365","title":"booked","start":"2021-08-19 20:00:00","end":"2021-08-19 20:40:00"},
{"id":"366","title":"booked ","start":"2021-08-19 19:00:00","end":"2021-08-19 19:40:00"},
{"id":"367","title":"Mary","start":"2021-08-20 10:00:00","end":"2021-08-20 10:40:00"},
{"id":"368","title":"Mary","start":"2021-08-20 12:00:00","end":"2021-08-20 12:40:00"},
{"id":"369","title":"booked","start":"2021-08-20 15:00:00","end":"2021-08-20 15:40:00"}
]