[WP.org] ajax plugin wordpress
-
Bonjour,
je voudrais intégrer mon mini annuaire créer auparavant a mon site wordpress ( je voudrais crée un plugin)
( cet annuaire utilise une autre base de donnée )
mais je n’arrive pas a le faire , s’il vous plait aidez moitextajax.php
<?php /* Plugin Name: annuaire Plugin URI: bil Description: Un simple annuaire Author: bil Version: 1.0.0 */ ?> <html> <head> <title>Mon test ajax</title> <a href="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js</a> <script> var anneeSouhaitee=""; var idSouhaitee=""; //le document ready est un event de Jquery qui se déclenche lorsque la structure de la page est chargée $( document ).ready(function() { console.log( "ready!!!!!!" ); //on masque la div qui affiche le détail de l eleve $("#DetailEleve").hide(); //on masque la div qui affiche le formulaire de modification de l eleve $("#ModifEleve").hide(); console.log("contenu de la div qui a pour id titre :: "+$("#titre").html()); //$("#titre").html("coucou"); //$(".texteRouge").css("color","red"); //$("div").css("background-color","yellow"); $("div").css("margin","2em"); //on charge la liste des élèves chargementListeEleves(); //on met les actions sur les boutons d'années pour filtrer les eleves par promo ajouteEcouteurBtnsAnnees(); }); function poseEcouteurClicEleve(){ $(".btVoirEleve").click(function(){ var idEleve=$(this).attr("id"); //alert('clic eleve'+idEleve); idSouhaitee=idEleve; var tab=idEleve.split("_"); chargementDetailEleve(tab[1],"lecture"); }); $(".btModifEleve").click(function(){ var idEleve=$(this).attr("id"); //alert('clic eleve'+idEleve); idSouhaitee=idEleve; var tab=idEleve.split("_"); chargementDetailEleve(tab[1],"modification"); }); } function ajouteEcouteurBtnsAnnees(){ $(".btnFiltrePromo").click(function(){ //alert('clic'+$(this).attr('id')); anneeSouhaitee=$(this).attr('id'); chargementListeEleves(); }); } function chargementDetailEleve(id,pAction){ jquery.ajax({ method: "POST", url: "listingEleve.php", data: { idEleve: id } }).done(function( msg ) { console.log( "Data loaded retour du serveur: " + msg ); if(pAction=="lecture"){ afficheDetailEleve(msg); }else if(pAction=="modification") { afficheMasqueModifEleve(msg); } }); } //la fonction qui cree l objet ajax pour aller chercher la liste des eleves function chargementListeEleves(){ $.ajax({ method: "POST", url: "listingEleve.php", data: { promo: anneeSouhaitee }//on fait eventuellement passer une promotion }) .done(function( msg ) { console.log( "Data loaded retour du serveur: " + msg ); afficheEleves(msg); }); } function afficheMasqueModifEleve(pJson){ $("#DetailEleve").hide(); $("#ModifEleve").show(); objJson = JSON.parse(pJson); //$("#ModifEleve #idEleve").html(objJson[0]["idEleve"]); $("#ModifEleve #modifNomEleve").val(objJson[0]["nomEleve"]); //$("#ModifEleve #prenomEleve").html(objJson[0]["prenomEleve"]); //$("#ModifEleve #anneePromo").html(objJson[0]["anneePromotionEleve"]); } function afficheDetailEleve(pJson){ $("#ModifEleve").hide(); $("#DetailEleve").show(); objJson = JSON.parse(pJson); $("#DetailEleve #idEleve").html(objJson[0]["idEleve"]); $("#DetailEleve #nomEleve").html(objJson[0]["nomEleve"]); $("#DetailEleve #prenomEleve").html(objJson[0]["prenomEleve"]); $("#DetailEleve #anneePromo").html(objJson[0]["anneePromotionEleve"]); } function afficheEleves(pJson){ console.log(typeof(pJson)); objJson = JSON.parse(pJson); console.log(typeof(objJson)); console.log(objJson.length); var nbEleves=objJson.length; var strDivListeEleves=""; for (var indice=0 ; indice< nbEleves ; indice ++){ console.log(objJson[indice]["nomEleve"]); strDivListeEleves=strDivListeEleves+'<div id="eleve_'+objJson[indice]["idEleve"]+'" class="eleve" >'+objJson[indice]["nomEleve"]+' <button class="btVoirEleve" id="voir_'+objJson[indice]["idEleve"]+'">voir</button>' +' <button class="btModifEleve" id="modif_'+objJson[indice]["idEleve"]+'">modifier</button> </div>'; } $("#BlocListe").html(strDivListeEleves).promise.done(poseEcouteurClicEleve()); } </script> </head> <body> <div id="titre" class="texteRouge">ma liste d'élèves :</div> <div> <button id="2017" class="btnFiltrePromo">2017</button> <button id="2018" class="btnFiltrePromo">2018</button> <button id="" class="btnFiltrePromo">toutes les promos</button> </div> <div id="BlocListe" class="texteRouge">coucou ici ma liste de résultat </div> <div id="DetailEleve"> <div id="idEleve"></div> <div id="nomEleve"></div> <div id="prenomEleve"></div> <div id="anneePromo"></div> </div> <div id="ModifEleve"> <form> nom : <input type="text" id="modifNomEleve" ></input> prenom : <input type="text" id="modifPrenomEleve" ></input> annee promo : <input type="text" id="modifPromoEleve" ></input> </form> </div> </body> </html>listineleve.php
<?php $promotion=""; $idEleve=""; if (isset ($_POST['promo'])){ $promotion=$_POST['promo']; } if (isset ($_POST['idEleve'])){ $idEleve=$_POST['idEleve']; } //tout d'abord on va chercher les classes dont nous avons besoin grace à l'instruction require_once //on crée une nouvelle connexion avec la base Mysql function seconddb() { global $seconddb; $seconddb = new wpdb('root','root','annuaire_eleves','localhost'); } if ($promotion!=""){ //si on a passé la variable promoption au script php via une variable en post $tabField=["anneePromotionEleve"]; $tabValeurs=[$promotion]; $tabOperateur=["="]; $tabBool=[""]; //on utilise un objet Condition qui permet d'ajouter un bout de phrase à la requete au select //un bout de code sql qui ressemblera à " where ...... $conditionPromo=new Condition($tabField,$tabValeurs,$tabOperateur,$tabBool); } if ($idEleve!=""){ //si on a passé la variable promoption au script php via une variable en post $tabField=["idEleve"]; $tabValeurs=[$idEleve]; $tabOperateur=["="]; $tabBool=[""]; //on utilise un objet Condition qui permet d'ajouter un bout de phrase à la requete au select //un bout de code sql qui ressemblera à " where ...... $conditionEleve=new Condition($tabField,$tabValeurs,$tabOperateur,$tabBool); } //on crée un objet liste qui va nous retourner un xml ou un json //avec tous les enregistrement de la table //les parametres du constructeur sont (lenom de la table, la liaison crée par l'objet connexion, le nom de la base) $listeEleves=new Liste("eleve",$maLiaison,$seconddb); //on ajoute à notre objet liste la condition if ($promotion!=""){ $listeEleves->condition = $conditionPromo->ecritureSql(); } if ($idEleve!=""){ $listeEleves->condition = $conditionEleve->ecritureSql(); } //la méthode créationRequète est celle qui permet de créer le code sql $listeEleves->creationRequete(); //afficheRequete est utiliser pour le débbogage //$listeEleves->afficheRequete(); //la méthode qui envoie la requete à la base et stocke le resultat $listeEleves->executeRequete(); //echo $listeEleves->nombreResultats(); //on choisi ensuite le type de sortie (xml ou json ) et on l'affiche $listeEleves->creationJson(); $listeEleves->afficheJson(); /* $listeEleves->creationXml(); $listeEleves->afficheXml(); */ ?>function.php
<?php /** ** activation theme **/ add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); } function seconddb() { global $seconddb; $seconddb = new wpdb('root','root','annuaire_eleves','localhost'); } add_action('init', 'seconddb'); -
Bonjour,
Pourriez-vous nous donner le nom de votre site ?
Important :
Je vous conseille de lire le lien suivant :
https://fr.forums.wordpress.com/topic/important-ce-forum-est-reserve-aux-sites-heberges-par-wordpresscom/
Vous comprendrez mieux pourquoi je vous pose la question .
Merci pour le retour. -
Bonjour,
merci pour votre réponse
je n’avais pas lu cette remarque , merci encore( pour le moment je travaille en local )
merci
-
Si votre site est en local, il fonctionne sous WordPress, mais n’est pas hébergé par WordPress.com. Veuillez poser votre question sur les forums appropriés à : https://wpfr.net/support/
Bonne journée!
- Le sujet ‘[WP.org] ajax plugin wordpress’ est fermé aux nouvelles réponses.