10
votes

Comment interroger la base de données à l'aide de JavaScript?

Une autre question d'un débutant. J'ai une variable PHP qui interroge la base de données pour une valeur. Il est stocké dans la variable $ publish et sa valeur changera (dans la base de données) lorsqu'un utilisateur clique sur un lien hypertexte.

if ($publish == '') { 
Link to publish.html
} else { 
Link to edit.html
} 


2 commentaires

Il peut être simplifié avec PHP uniquement.


Pouvez-vous dire comment le faire avec PHP?


8 Réponses :


0
votes

Il ne peut pas être fait avec JavaScript, JQuery ou Ajax. Seul le script côté serveur peut interroger une base de données. Avec Ajax Demande, vous pouvez obtenir la sortie du script. Les demandes AJAX peuvent être envoyées avec pure JavaScript ou JQuery.


0 commentaires

0
votes

Eh bien, je pense que je comprends votre question, mais vous devez avoir un point de départ, essayez de comprendre ceci:

  • Essayez de comprendre ce que sont les variables des clients et les variables de serveur.
  • JavaScript ne communique pas avec la base de données.
  • Vous pouvez utiliser JavaScript pour récupérer des données sur une "variable d'objet" spécifique.
  • Utilisation des méthodes AJAX de JQuery, vous pouvez publier que les données font une autre page, qui exécutera la actions appropriées

1 commentaires

Bien sûr, si vous utilisez JQuery comme JavaScript Livrary, essayez de comprendre comment Ajax travaille à JQuery: API. jquery.com/jquery.ajax



9
votes

Je vais essayer de quitter le jargon technique de côté et de donner une réponse plus générique depuis que je pense que vous pourriez être confondu avec des scripts côté client et côté serveur.

Pensez à JavaScript sous forme de langage qui ne peut demander que votre navigateur Web comment agir. JavaScript exécute une fois que le serveur a déjà terminé le traitement de votre page Web.

PHP d'autre part fonctionne sur votre serveur Web et permet de communiquer avec votre base de données. Si vous souhaitez obtenir des informations à partir de votre base de données à l'aide de JavaScript, demandez à JavaScript Demander à PHP pour interroger la base de données via un appel AJAX à un script PHP.

Par exemple, vous pouvez appeler JavaScript un script comme: http://www.myserver.com/ajax_function.php?do=QuerythédAtabase

En résumé: JavaScript ne peut pas se connecter à la base de données, mais elle peut demander à PHP de le faire. J'espère que cela aide.


0 commentaires

0
votes

vous pouvez;) Au début, vous devez créer un fichier php pour interroger la base de données et renvoyer quelque chose comme true ou fluide, puis avec l'URL de fichier, vérifiez la fonction et obtenez la réponse

function find_published(folder_id) {
    var aj_url = "{{server_path}}/ajax/url"
    var list;
    $.getJSON(aj_url+"?callback=?&",
          function(data) {
              //here is your data... true false ... do every thing you want
          }
    );
};


0 commentaires

14
votes

JavaScript en soi ne peut pas être utilisé pour traiter la base de données. Cela est fait en utilisant PHP (ou le langage côté serveur de votre choix). AJAX est utilisé pour envoyer une demande à votre script PHP à l'aide de JavaScript qui communiquera à son tour avec la DB. Et il ne nécessite pas d'actualisation de page.

Alors, ce que vous essayez de faire peut être facilement réalisé en utilisant Ajax. Depuis que vous avez mentionné JQuery, vous pouvez consulter la $ .AJAX ou $ .Post méthodes de JQuery qui rendent le processus encore plus simple.

Vous devez traiter le formulaire à l'aide de Ajax. La demande AJAX est envoyée à un script PHP qui apportera les modifications nécessaires dans la base de données et envoie le nouveau lien (lien vers edit.html) dans la réponse. Lors de la réponse, remplacez simplement l'élément d'ancrage actuel avec le nouveau ..

pour par exemple .. xxx

URL > - Où le script php est situé

formdataObject - un objet JavaScript qui aura les données de formulaire sous forme de paires de valeurs de clé

Le troisième paramètre est un anonyme Fonction également appelée fonction de rappel car elle sera appelée uniquement lorsque la réponse est reçue du serveur. En effet, les demandes AJAX sont asynchrones.

à l'intérieur de la fonction de rappel, JQuery est utilisé pour modifier le texte à l'intérieur de l'élément d'ancrage vers Modifier et l'attribut href est modifié à la valeur qui est entrée en valeur. la réponse.

$. POST signifie que nous utilisons la méthode postale. Donc, les paramètres sont donc accessibles en tant qu'éléments de $ _Post dans PHP. Après avoir mis à jour la base de données, vous pouvez simplement echo sur le nouveau lien et il sera reçu dans la réponse.

En outre, il existe d'autres formats dans lesquels vous pouvez obtenir la réponse par exemple. XML, JSON.


1 commentaires

Merci pour cela. Python peut-il être utilisé comme langue côté serveur pour cela et intégré à JavaScript?



2
votes

Permettez-moi d'essayer, vous souhaitez modifier le lien d'une page à partir d'une fenêtre contextuelle qui gère un traitement de formulaire. Essayez de donner à votre lien un conteneur: xxx

comme pour la soumission de formulaire, utilisez Ajax pour soumettre des données au serveur pour effectuer une mise à jour et récupérer une réponse pour changer le lien pour modifier ou quelque chose: xxx

Fondamentalement, votre lien de publication est contenu dans un div avec un identifiant publish_link de sorte que vous modifiez le contenu ultérieurement après les données traitement sans recharger la page. Dans la fenêtre contextuelle où vous feriez le traitement du formulaire, il est fait à l'aide de la méthode Post JQuery Ajax pour soumettre les données. Votre script accepte ensuite ces données, mettez à jour la base de données et si le succès renvoie une réponse. JQuery Post Fonction reçoit cette réponse et il y a un chèque là-bas si isparpubli est vrai, obtenez la fenêtre ouvrière de la pop-up (votre fenêtre principale) et mettez à jour le lien vers Modifier . Juste une idée, peut ne pas être le mieux là-bas.


1 commentaires

Le code semble prometteur mais je passe un moment difficile à mettre en œuvre.



-2
votes

Vous devez utiliser Ajax pour cela, comme .post () ou .get () ou json.


0 commentaires

-1
votes

Cette application pour nœud.js fait mysql requieres https://github.com/felixge/node-mysql


0 commentaires