11524 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je début sur FullCalendar, je bloque pour afficher des evenements:
Dans ma BDD j'ai enregistré deux événements pour faire un test.


J’ appel dans la zone "events" une fonction ajax vers une page PHP qui liste les événements de ma BBD retour en Json (image du retour des données de la page en php)
voici mon code :

     document.addEventListener('DOMContentLoaded', function() {
        var calendarEl = document.getElementById('calendar');
        var calendar = new FullCalendar.Calendar(calendarEl, {
			themeSystem: 'bootstrap5',
			events:  $.ajax({
    url :"ajax/list_evenement_calendrier.php",
        success: function(response) { 
            return response.data; }
			}),
			buttonText: {
    today:    'Aujourd\'hui',
    month:    'Mois',
    week:     'Semaine',
    day:      'Jour',
    list:     'Liste'
},
			locale: 'fr',
			firstDay:1,
			businessHours: true,
			businessHours: {
  // days of week. an array of zero-based day of week integers (0=Sunday)
  daysOfWeek: [ 1, 2, 3, 4 ,5], // Monday - Thursday

  startTime: '8:00', // a start time (10am in this example)
  endTime: '18:00', // an end time (6pm in this example)
},
allDayDefault: false,
minTime:'7:00',
          initialView: 'timeGridWeek',
		    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    }
		  
        });
        calendar.render();
      });


la page php
 <?php
include ("../php/fonction.bdd.php"); 
$mysqli=	connexion_mysql();
$query = mysqli_query($mysqli,"SELECT `id_cd`,`title` as title,`description`,`start_datetime`,`end_datetime` FROM `calendrier_data`");
//$result = mysqli_fetch_all($query, MYSQLI_BOTH);

$rows = mysqli_fetch_all($query, MYSQLI_ASSOC);
foreach ($rows as $row) {
  //  printf("%s (%s)\n", $row["id_cd"], $row["title"]);
	     $data[] = array(
  'id'   => $row["id_cd"],
  'title'   => $row["title"],
  'start'   => $row["start_datetime"],
  'end'   => $row["end_datetime"]);
}



echo json_encode($data);
?>

upload/1695632731-14198-calendar.png
J'ai pas erreur mais sur le calendar rien ne s'affiche, quelle erreur est-je commis dans mon code?

merci d'avance pour vos explications.
Modifié par guigui69 (25 Sep 2023 - 11:09)
\ô/
peut-être que start et end n'ont pas le bon format
2023-09-25 08:00:00

ne devrait-il pas être
2023-09-25T08:00:00
Bonjour,
Le format event me semble etre plutot comme celà :
start: '2018-09-01'

pour info un de mes seeders Laravel :
'start'=>Carbon::parse('2023-04-27 16:00:00')->format('Y-m-d'),
'end'=>Carbon::parse('2023-04-30 10:00:00')->format('Y-m-d'),


Bonne journée !
Bonjour,

j'ai modifier mon code sur la partie evenement:
[B]events: "ajax/list_evenement_calendrier.php" ,[/B] et cela fonctionne maintenant quand j'arrive sur mon calendrier.

Par contre, sur ma page ou j'ai le calendrier j'ai une partie pour ajouter un événement (en ajax) l'enregistrement dans ma BDD c'est OK, car si je rafraichit la page cela affiche événement. Mais je voudrais afficher directement cela dans le calendrier (sans faire un refresh) Mais je ne sais pas comment mettre cela en place

Quelle function, code je devrait utiliser?

merci d'avance pour votre aide

guigui69