Сценарий fullcalendar вызывает переменную GET php для получения данных mysql не работает - PullRequest
0 голосов
/ 09 июля 2020

У меня проблемы с этим кодом:

<?php
// Require DB Connection
require_once('connect.php');
// Get ALl Event
$er = 1;
$sth = $dbh->prepare("SELECT * FROM events WHERE id_user = $er AND events.date BETWEEN ? AND ? ORDER BY events.date ASC");
$sth->execute(array($_GET['start'], $_GET['end']));
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
?>

Когда я пропускаю переменную $er с этим значением, работает отлично! но когда я передаю $_GET['cu'] не удается, кто-нибудь может сказать мне, что произошло?

Примечание: $_GET['cu'] - это значение, которое я беру из URL http://..../?cu=1

И этот файл вызывает из js скрипта Fullcalendar в событиях:

// Get all events stored in database
        events: 'crud/getEvents.php',

1 Ответ

1 голос
/ 09 июля 2020

Спасибо всем, решение было:

в основной. js добавьте эту функцию для получения данных URL:

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
  }

и в событиях:

    events: 'crud/getEvents.php?cu='+getParameterByName('cu'),

поэтому в файле getEvents мы можем вызвать переменную:

// Get ALl Event
$er = $_GET['cu'];
$sth = $dbh->prepare("SELECT * FROM events WHERE id_user = $er AND events.date BETWEEN ? AND ? ORDER BY events.date ASC");
...