2014-05-24 4 views
0

J'ai créé un timepicker en utilisant le module complémentaire pickadate.js pour jQuery (http://amsul.ca/pickadate.js/time.htm), pour les rendez-vous. L'idée est que les gens puissent choisir une heure dans le champ de saisie pour prendre rendez-vous. Pour éviter les rendez-vous de multiples en même temps, je voudrais supprimer des options qui ont déjà été prises par d'autres utilisateurs comme ceci:Combinaison de jQuery avec SQL

$('.timepicker').pickatime({ 
disable: [ 


]}) 

Je voudrais avoir un résultat sql désactivé. La requête SQL ressemblerait à quelque chose comme ceci:

SELECT time FROM Appointments WHERE date='$date' 

La requête retournerait le temps où les rendez-vous ont déjà été faites.

Alors, comment puis-je obtenir le résultat de la requête entre les parenthèses de désactivation, quelle est la meilleure façon? Je n'ai jamais eu à combiner jQuery et SQL, donc je n'ai aucune idée du tout. J'ai essayé de regarder sur internet mais je n'ai rien trouvé de pertinent. Toute aide serait grandement appréciée!

+0

Ceci est pour la couche logique de l'application. Il suffit d'utiliser PHP ou Python ou quel que soit le framework dont vous disposez pour insérer le résultat de la requête entre les crochets du javascript. – EWit

Répondre

0

D'abord, combiner JavaScript et SQL est à peu près toujours une mauvaise idée. (Au moins pour une page Web.) Vos utilisateurs ne devraient jamais avoir un accès direct à la base de données. Au lieu de cela, je ferais personnellement quelque chose comme ceci:

  • Créer une page sur votre site qui accède à la base de données pour l'utilisateur. Ce n'est pas une page normale, mais elle génère à la place JSON, qui est largement supporté en JavaScript. Je voudrais scanner la base de données pour tous les "événements" dans un mois, et les inclure dans le JSON. Voir JSON at MDN pour plus d'informations, ou this pour un exemple de sortie.
  • Utilisez XmlHttpRequest ou getJSON de jQuery pour récupérer les données d'événement de la page spéciale.
  • Utilisez les données de cet objet JSON pour créer votre sélecteur de dates. Si vous avez besoin d'actualiser les informations, vous pouvez simplement faire en sorte que votre JavaScript répète la demande.

La page entre l'utilisateur et la base de données est importante. Une raison est qu'il cache les détails d'implémentation de l'utilisateur. (c'est-à-dire, votre base de données) Vous pouvez modifier l'emplacement de votre base de données, ou même le type de base de données, et tant que la page d'interface est modifiée pour correspondre, l'utilisateur ne sera pas affecté. Une autre raison (et plus importante) est que cela vous permet de valider l'entrée de l'utilisateur. C'est une bonne règle lors du développement d'applications web de supposer que rien de l'utilisateur ne peut faire confiance. Si l'utilisateur avait un accès direct à la base de données, il pourrait faire toutes sortes de dégâts.

tl; dr

Votre base de données est un outil côté serveur. JavaScript/jQuery est un outil côté client. Obtenir des données de la base de données sur le client nécessite de créer une sorte de page d'interface. (Je recommande d'utiliser JSON pour encapsuler ces données.)