Je voudrais intégrer le site FullCalendar JQuery dans mon site Web PHP, mais je ne sais pas comment gérer l'événement et comment utiliser les données JSON de MySQL. p>
Tout conseil serait apprécié. P>
11 Réponses :
Assurez-vous que votre PHP peut émettre le F CORE Collant HTML :
<?php $year = date('Y'); $month = date('m'); echo json_encode(array( array( 'id' => 1, 'title' => "Event1", 'start' => "$year-$month-10", 'url' => "http://yahoo.com/" ), array( 'id' => 2, 'title' => "Event2", 'start' => "$year-$month-20", 'end' => "$year-$month-22", 'url' => "http://yahoo.com/" ) )); ?>
Merci beaucoup pour votre commentaire. Mais je pense que vous avez un malentendu ou que je ne l'ai pas décrit très clairement. Je veux ajouter le plugin JQuery Weekcalendar et il y a un échantillon pour cela. Tout est en session là-bas. Mais je veux que cela fonctionne avec la base de données MySQL. Merci beaucoup!!!!!!!
Selon le serveur, assurez-vous que vous avez date_default_timezone_set ('America / Your_TZ'); code> avant la date
(xxx) code> appel
Je ne connais pas JQuery. Mais je pense em> le problème est que vous ne prenez pas compte de la nature asynchrone de Ajax. p>
Sauf si FullCalendar () fait quelque chose de très étrange (incendie une demande Ajax et attend la réponse), vous ne pourrez peut-être pas utiliser une source externe dans la fonction de cette façon, car FullCalendar aura fini de fonctionner par le Temps une réponse revient du serveur. p>
Il ne semble pas être un exemple clair de ce que vous essayez de faire sur la page Web du calendrier de la semaine, mais je suis sûr que ce dont vous avez besoin est de créer le calendrier sans les événements, mais avec un rappel défini pour ajouter des événements ; et puis d'une manière ou d'une autre incendie de l'appel externe. p>
Merci pour votre message. Vous avez un peu indiqué mon problème. En fait, je ne peux pas ajouter / éditer / supprimer les événements et ne peut pas saisir les données de MySQL de la manière de JSON. Je vais essayer d'arranger et de le résoudre. Et merci.
Je pense que vous avez le même problème que j'ai. J'ai effectué une recherche sur le Web en essayant de déterminer comment configurer la dateTime de sorte que le FullCalendar Javascript l'interpréterait correctement. (Cette page avait de bonnes indices à cela: http://blog.stevenlevithan.com/ Archives / Date-Time-Format ).
J'ai posté ceci sur la page de problèmes FullCalendar en espérant que le créateur ou quiconque irait de la lumière sur le sujet. P>
==== ================= Description =========================== P>
Quelles étapes vont reproduire le problème? p>
p> Quelle est la sortie attendue? Que voyez-vous à la place? P> Quelle version du produit utilisez-vous? Sur quel système d'exploitation? P> Veuillez fournir des informations supplémentaires ci-dessous. P> J'utilise une page ASPX pour récupérer les événements du calendrier. Je suppose que c'est que
Il y a quelque chose qui ne va pas avec le format de l'objet JavaScript
DateTime code>
que je revenais dans le
JSON code> et que cela provoque le
FullCalendar code> à
Interpréter les événements comme
FulldayEvents Code>. Le format que j'envoie dans le
JSON code> est:
2009-11-17T11: 01: 00 code>. p> p>
J'ai eu le même problème et je viens de découvrir comment le faire fonctionner. Voici le code que vous devez utiliser dans votre fichier PHP:
$query = "select * from events where accountNo = '$accountNo'"; $res = mysql_query($query) or die(mysql_error()); $events = array(); while ($row = mysql_fetch_assoc($res)) { $start = "2010-01-08T08:30"";//Here you have to format data from DB like this. $end = "2010-01-08T08:30";//This format works fine $title = $row['firstName']." ".$row['lastName']; $eventsArray['id'] = $row['id']; $eventsArray['title'] = $title; $eventsArray['start'] = $start; $eventsArray['end'] = $end; $eventsArray['allDay'] = ""; $events[] = $eventsArray; } echo json_encode($events);
"2010-02-11 11:00:00" FORMAT fonctionne bien pour spécifier le temps pour moi (sans "T" à l'intérieur), La clé de la solution consiste à définir l'attribut "Allday" d'un événement pour vider la chaîne. P>
Ooh merci mec ça sauve moi
Hey, je n'ai pas utilisé votre code ci-dessus, mais dans json_events.php le par défaut,
Cet exemple fonctionne:
$sql= "SELECT id, title, start, DATE_FORMAT(start, '%Y-%m-%dT%H:%i' ) AS startDate FROM kalender ORDER BY startDate DESC"; $res = mysql_db_query($db, $sql, $conn) or die(mysql_error()); $events = array(); //important ! $start = "2010-05-10T08:30"; iso8601 format !! while ($row = mysql_fetch_assoc($res)) { $eventArray['id'] = $row['id']; $eventArray['title'] = $row['title']; $eventArray['start'] = $row['startDate']; $events[] = $eventArray; } echo json_encode($events);
La sortie pour echo Un événement doit être dans ce format:
$('#calendar').fullCalendar({ events: [{ title: 'Awesome Event Title', start: new Date($start_year, $start_month, $start_day), or end: new Date(y, m, d), end: new Date($end_year, $end_month, $end_day) or end: new Date(y, m, d) }] });
Implémentez-le de cette façon et cela fonctionne bien
$result = mysql_query("SELECT * FROM eventoform",$conexion); $array = array(); $i = 0; while ($row = mysql_fetch_array($result)) { $array[$i]=array("id"=>$row["id_evento"],"title"=>$row["NombreEvento"],"start"=>$row["FechaInicio"]." ".$row["HoraInicio"],"allDay"=>false,"description"=>$row["description"],"editable"=>true); $i++; } echo json_encode($array);
en PHP - JSON:
$eventsArray['allDay'] = "false"; //doesn't work $eventsArray['allDay'] = false; //did the trick to have a NON FULL DAY correctly rendered!!
Juste au cas où il y a une personne utilisant des rails avec JBuilder pour générer l'aliment JSON ... vous devez json.array!(@resubmissions) do |object|
json.id object.id
json.title "WVL - #{object.to_s}"
json.start object.resubmission_at.to_i
json.allDay false
end
Est-ce ce calendrier que vous parlez de? redredred.com.au/projects/jquery-week-calendar
Si c'est vraiment urgent, vous devriez essayer le canal IRC Blog. jquery.com/2007/02/17/Le-jquery- tirl-channel ...
Pourquoi veillerons-nous si la tâche est urgente? Pour moi, c'est généralement une raison pas i> pour répondre à la question. Si vous avez besoin de quelque chose fait rapidement, trouvez-vous un soutien payé.
@elzapp oui, c'est juste ce plugin.
@DURROTH Oui, vous avez raison. Je le souffre depuis plusieurs jours. Et je suis ici pour plus d'idées et de conseils. J'apprécie beaucoup vos suggestions.