Jquery Datepicker interroger base mysql

Eléphant du PHP | 440 Messages

02 avr. 2010, 17:20

bonjour à tous,

je vient de découvrir Datepicker pour jquery et je voudrait un coup de main.

Code : Tout sélectionner

$("#date").datepicker({ monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'], monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc'], dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], dateFormat: 'dd-mm-yy', firstDay: 0, isRTL: false, onSelect:function(dateText,inst){/*code à executer*/} });

Je voudrait rajouter a ceci, le fait d'interroger ma base de donnée ou elle contient des évènements et donc colorier la case (la date) qui contient des enregistrements.
Je pense c'est au niveau de la fonction "beforeShowDay" de datepicker, mais je ne sais pas comment mettre ca en place.

Je n'ai pas trouver d'exemple qui parle de ceci.
J'ai ma fonction ajax qui est prête (je pense) et ma page php aussi.

Merci d'avance pour votre aide

guigui69

ViPHP
ViPHP | 3607 Messages

05 avr. 2010, 19:57

Hello,
test ceci:
beforeShowDay: function(date) { return [true,
'taclassespeciale' ]; }

Eléphant du PHP | 440 Messages

20 avr. 2010, 13:43

Bonjour,


je revient sur mon calendrier,

je n'arrive pas a trouver comment avec query ou datepicker comment convertir la date pour intéroger en ajax ma page;

il me sort comme ceci:

Code : Tout sélectionner

Thu Apr 01 2010 00:00:00 GMT 0200
et je voudrait avoir la date au format yyyy-mm-dd

Code : Tout sélectionner

beforeShowDay: function(date){ alert (date); $.ajax({ type: "POST", dataType: "json", url: "ajax/ajax_date.php", data: "idauteur="+date, success: function(json){ alert(json.nb); } })
Second question est que au niveau du before je doit retourner les date ou bien un true ou false

Merci d'avance pour votre aide

guigui69

Eléphant du PHP | 440 Messages

20 avr. 2010, 15:46

J'avance je suis arrivé a trouver comment convertir:

Code : Tout sélectionner

beforeShowDay: function(date){ ok = $.datepicker.formatDate('yy-mm-dd', new Date(date)); $.ajax({ type: "POST", dataType: "json", url: "ajax/ajax_date.php", data: "idauteur="+ok, success: function(json){ if(json.nb==1) { return [true, ""]; } else { return [true, ""]; } } }) },
j'envoie bien les données a ma page php qui me revient en json

Code : Tout sélectionner

<?php header('Content-Type: text/x-json; charset: UTF-8'); if(isset($_POST["idauteur"])){ include ("../../fonction/fonction.bdd.php"); connexion_mysql(); include ("../../fonction/fonction.site.php"); $date= $_POST["idauteur"]; //////////////////////////////////////////////////////////// $sql="select count(*) FROM commande_cap WHERE date_cc='".valid_data($date)."';"; $query=mysql_query($sql); $nb=mysql_result($query,0); $retour_json.='{"nb" : "'.$nb.'"} '; echo $retour_json; } ?>
Si je en fesant un alert j'ai bien des 1 ou 0 en fonction du resultat dans ma base.

mais j'ai une erreur depuis firebug: (fichier jquery.min.js)

Code : Tout sélectionner

daySettings is undefined [Break on this error] (function($){$.extend($.ui,{datepicker..."DP_jQuery_"+dpuuid]=$})(jQuery);;/*
Le problème vient de cette partie:

Code : Tout sélectionner

$.ajax({ type: "POST", dataType: "json", url: "ajax/ajax_date.php", data: "idauteur="+ok, success: function(json){ if(json.nb==1) { return [true, ""]; } else { return [true, ""]; } } })
je ne voit pas pourquoi!!

Si par exemple a la place de la récupérer le résultat de l'ajax, je met directement return [true, ""]; je n'ai pas le message erreur.


Si quelqu'un pourrait m'aiguillez

Merci

guigui69

Eléphant du PHP | 440 Messages

20 avr. 2010, 20:22

J'avance,

Mais il semble que les return ne soit pas pri en compte,

si je met un return en dur a la fin du script, lui il est prit en compte.

Pourquoi ? Quelle erreurs est-je commis?

guigui69

Eléphant du PHP | 440 Messages

21 avr. 2010, 09:18

Bonjour à tous,

je cherche vraiment de l'aide car la je bloque:

Code : Tout sélectionner

function check(date){ ok = $.datepicker.formatDate('yy-mm-dd', new Date(date)); var ccc = false ; return $.ajax({ type: "POST", dataType: "json", url: "ajax/ajax_date.php", data: "idauteur="+ok, success: function(json){ var a = json.nb; if(a==1) { //alert(a); var ccc = true ; //alert(ccc); } } }); if (ccc) return [true, "ui-event","tooltip"] ; else return [false, 'class_css_jour_libre'] ; }
C'est dans cette partie du code que ca bug, le but c'est qu'il me retourne "return[flase ou true, css, etc] .
Je n'arrive pas à lui faire retourner ceci.
La j'ai essai mais je comprend pas pourquoi cela ne fonctionne pas

guigui69

ikoulou
Invité n'ayant pas de compte PHPfrance

02 févr. 2011, 22:53

salut
le post est un peu vieux mais je cherche egalement la meme chose que toi
il me semble.

j'ai un code qui fait cela mais il y a 30 requetes qui s'execute a l'ouverture de calendrier jquery. ce qui fait tout ramer serverement.

et si toi tu as trouvé une solution, je serais interessé par celle-ci.

merci
ikoulou

Fondeur33
Invité n'ayant pas de compte PHPfrance

31 mars 2011, 20:17

Ça fait deux mois que tu cherches tu as du trouver, si ce n'est pas le cas très bon tuto ici http://www.emirplicanic.com/javascript/ ... e-date.php je l'ai réalisé sans soucis, simple et efficace.
Cordialement.