gpt4 book ai didi

php - JSON 结果不显示完整日历中选定的事件

转载 作者:行者123 更新时间:2023-12-01 05:29:40 25 4
gpt4 key购买 nike

我有一个 HTML 选择框,允许管理员根据所选教师选择事件

      <select id="teachermale" name="teachermale">
<option selected disabled>Male Teachers</option>
<option value="Mohamed Adil">Mohamed Adil</option>
<option value="Sherif Reda">Sherif Reda</option>
<option value="Mohamed Shahban">Mohamed Shahban</option>
<option value="Abdullah al Haiti">Abdullah al Haiti</option>
<option value="Salah">Salah</option>
<option value="Ahmed Nabil">Ahmed Nabil</option>
<option value="Abdul Tawab">Abdul Tawab</option>
<option value="Mahmoud Mahmoud">Mahmoud Mahmoud</option>
<option value="Ahmed Ghanim">Ahmed Ghanim</option>
</select>

下面的 jquery 从 jquery fullcalendar 中删除所有当前事件以显示特定教师的事件。并建立一个 ajax 请求来从数据库中获取相应教师的事件。

      $(function() {
$("#teachermale").change(function(){
var str = "";
$("#teachermale option:selected").each(function(){
str += $(this).text() + "";
});

console.log(str);
$('#calendar').fullCalendar('removeEvents');
changeDisplay(str);


}).change();

});
function changeDisplay(str){
console.log(str);
$.ajax({
url:'find_event.php',
type:'POST',
data : '&str='+encodeURIComponent(str),
dataType:'text',
success: function(json) {
$('#calendar').fullCalendar('addEventSource', json);
},
error: function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});

}

POST 正在运行,并且正在以 JSON 格式正确获取特定教师的事件。

下面是获取事件的 find_event.php 脚本。

            // List of events
$json_array["title"]=$_POST["str"];
$title =$json_array["title"];
echo $title;

// connection to the database
try{

$pdo = new PDO('mysql:host=localhost;dbname=*******', '******', '*******');
} catch(Exception $e) {

exit('Unable to connect to database.');
}

$requete = "SELECT * FROM `evenement` WHERE `title`=?";
// Prepare your query
$stmt = $pdo->prepare($requete);
if ($stmt) {
if ($stmt->execute(array($title))) {
$events = array();
$dbEvents = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($dbEvents as $event) {
$event['allDay'] = false;
$events[] = $event;
}
} else {
// check for error
print_r($stmt->errorInfo());
}
}

echo json_encode($events);

控制台记录字符串(即标题),并在“网络”选项卡上显示该字符串已发布。但我似乎无法让日历在屏幕上显示它,即使我使用 $('#calendar').fullCalendar('addEventSource', json); 来取回事件成功时从 json 源获取。

任何有关如何检查此项或如何显示事件的输入将不胜感激。

当 console.log 完成时,Json 响应: 萨拉赫[{"id":"24","title":"萨拉赫","start":"2016-06-02 10:00:00","end":"2016-06-02 14 :30:00","url":null,"allDay":false,"color":null},{"id":"26","title":"Salah","start":"2016-06 -23 08:30:00","end":"2016-06-23 11:30:00","url":null,"allDay":false,"color":"green"}]

这是请求 header 的样子。

enter image description here

最佳答案

让我们跟踪代码中的 str 变量。

$("#teachermale").change() 中,您可以通过循环选择每个选项来创建 str 变量并获取其文本。

str 现在是所选名称的“聚合”(没有分隔符,顺便说一句...所以它看起来像“Sherif RedaMohamed ShahbanAbdul TawabAhmed Ghanim”)然后传递给changeDisplay(str)

它被“视为”一个 encodeURIComponent ( http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp ) 值,并作为 $_POST[data] 发送到 find_event.php .

当你假装控制台日志是正确的相关错误时,你的问题真的很奇怪。
.oO(我认为不是)
因为地址不适合显示的代码(str 变量)...并且该方法也不适合。

为什么要触发与更改处理程序链接的更改

与您发布的代码相关,您应该在 URL find_event.php 上查找 POST 的控制台状态。
您的脚本中似乎存在多个问题。
;/
无论如何希望它能有所帮助。

关于php - JSON 结果不显示完整日历中选定的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38298355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com