I'm having trouble with the fullcalendar.io, I'm trying to show a calendar on a website and it workes fine unless the amount of events gets higher. I tried to check if the dates in the database are on some way wrong, but it seems to be fine, i can't find a possible way why 10 entries work and 100 will not be shown.
Here is the code:
<script>
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list' ],
header: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
editable: false,
navLinks: true, // can click day/week names to navigate views
eventLimit: false, // allow "more" link when too many events
locale: 'de',
eventRender: function(info) {
var tooltip = new Tooltip(info.el, {
title: info.event.extendedProps.description,
placement: 'top',
trigger: 'hover',
container: 'body'
});
},
events: {
url: 'events.php',
failure: function() {
document.getElementById('script-warning').style.display = 'block'
}
},
loading: function(bool) {
document.getElementById('loading').style.display =
bool ? 'block' : 'none';
}
});
calendar.render();
});
</script>
So whenever the SQL in the "event.php" is limited to a low number, it shows a perfect calendar to me. But when the number of event goes up the failure function is activated and it's showing me my error message, as the failure function is triggered.
Is there a way to do some research why this could happen? I manually checked the database entries, they look all nearly the same, no troubles here. In the fullcalendar documentation it says, that there is no maximum number of entries. Even if there would be a maximum, it's very strange the sometimes more than 10 entries cause an error and sometimes 15 entries are cool. There must be something wrong with the entries, does anyone know a way how to check them or how to get an error message out of it? maybe that helps me to continue working.
Thanks a lot!
Edit: This is events.php
header('Content-Type: application/json');
include("config.php");
$sql = "SELECT `start`, `end`, `title`, `description` FROM ".$SETTINGS["data_table"]." WHERE UNIX_TIMESTAMP(`start`) >=".strtotime($mysqli->real_escape_string($_GET['start']))."
AND UNIX_TIMESTAMP(`start`)<=".strtotime($mysqli->real_escape_string($_GET['end']))." LIMIT 100";
$arr = array();
if ($result = $mysqli->query($sql)) {
$counter = 0;
while ($row = $result->fetch_assoc()) {
$arr[$counter]=$row;
$counter++;
}
echo json_encode($arr);
} else {
printf("Error: %s\n", $mysqli->sqlstate);
exit;
}
In this case the mysqlli query had to be set to UTF-8, it wasn't enough to use a php header to set it to utf-8.
$mysqli = new mysqli($SETTINGS["hostname"], $SETTINGS["mysql_user"], $SETTINGS["mysql_pass"],$SETTINGS["mysql_database"]);
$mysqli->set_charset("utf8");
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Find the answer in similar questions on our website.
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
PHP (from the English Hypertext Preprocessor - hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites.
The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
JavaScript is a multi-paradigm language that supports event-driven, functional, and mandatory (including object-oriented and prototype-based) programming types. Originally JavaScript was only used on the client side. JavaScript is now still used as a server-side programming language. To summarize, we can say that JavaScript is the language of the Internet.
https://www.javascript.com/
DBMS is a database management system. It is designed to change, search, add and delete information in the database. There are many DBMSs designed for similar purposes with different features. One of the most popular is MySQL.
It is a software tool designed to work with relational SQL databases. It is easy to learn even for site owners who are not professional programmers or administrators. MySQL DBMS also allows you to export and import data, which is convenient when moving large amounts of information.
https://www.mysql.com/
Welcome to the Q&A site for web developers. Here you can ask a question about the problem you are facing and get answers from other experts. We have created a user-friendly interface so that you can quickly and free of charge ask a question about a web programming problem. We also invite other experts to join our community and help other members who ask questions. In addition, you can use our search for questions with a solution.
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.