IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Meilleures méthodes pour une requête sql avec wordpress


Sujet :

WordPress PHP

  1. #1
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut Meilleures méthodes pour une requête sql avec wordpress
    Update.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    var order_number = localStorage.getItem("cleef"); 
    	var conducteur = jQuery('#conducteur').val();
    	var lieudepart = jQuery('#lieudepart').val();
    	var lieuarrive = jQuery('#lieuarrive').val();
    	var participation = jQuery('#participation').val();
    	var datedepart = jQuery('#from_date').val();
    	var datearrive = jQuery('#to_date').val();
     
     
    	ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ) ?>';
     
    	jQuery.ajax({
    		  url: ajaxurl,				  
    		  method: "POST",
    		  cache : false,
    		  data:  {
    	action:'changeractivite',
    	order_number : order_number,
    	conducteur : conducteur,
    	lieudepart: lieudepart,
    	lieuarrive: lieuarrive,
    	participation: participation,
    	datedepart: datedepart,
    	datearrive: datearrive
     
      				}, 
      				dataType: "text",
    			    "success": function (data, textStatus, jqXHR) {
    			        console.log("L'appel Ajax est une réussite.");
    //			        alert("longArrive " + longArrive);
    			       	           jQuery("#resultat").html("<p>La modification a ete effectuer avec succes ! </p><br><p>Vous allez etre rediriger sur la liste des activite");
               		setTimeout(function() {jQuery('#resultat').fadeOut();document.location.href = 'indexdate'}, 3000);
    //	     		    $('#resultat').fadeOut(2000,traitement_callback("hello world"));
    			    },
    			    "error": function (jqXHR, textStatus, errorThrown) {
    			        console.log("L'appel Ajax est un échec.");
    			        jQuery("#resultat").html("<p>mise a jour non effectuee...</p>");alert(data);			    
    			    }
    			}); 
     
    		};
     
    	});
    changeractivite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    unction changeractivite() {
     
     
    if (isset($_POST['order_number'],$_POST['conducteur'],$_POST['conducteur'],$_POST['lieudepart'],$_POST['lieuarrive'],$_POST['participation'],$_POST['datedepart'],$_POST['datearrive'])) {
        $order_number = $_POST['order_number'];
        $conducteur = $_POST['conducteur'];
        $lieudepart = $_POST['lieudepart'];
        $lieuarrive = $_POST['lieuarrive'];
     
        $participation = $_POST['participation'];
     
        $datedepart = $_POST['datedepart'];
        $datearrive = $_POST ['datearrive'];
    //     $idtrajet = 0;
    //     $idmembre = 0;
     
        try {
     
            $PDO = new PDO('mysql:host=localhost;dbname=local','root','root');
            $PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
            $PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
    //       $pdo = new PDO('mysql:host=localhost;dbname=philippe','root','');
     
    //       $sql = "UPDATE orders SET conducteur=? , lieudepart=?, lieuarrive=?, participation=?, datedepart =?, datearrive =?, idtrajet =?  where order_number =?";
     
          $sql = "UPDATE orders SET conducteur = :conducteur , lieudepart = :lieudepart, lieuarrive = :lieuarrive, participation = :participation, datedepart = :datedepart, datearrive = :datearrive WHERE order_number = :order_number";
     
    //       UPDATE `orders` SET `conducteur` = 'PAS MOI', `lieudepart` = 'pekin', `lieuarrive` = 'Tapei', `participation` = '800', `datearrive` = '2022-09-30 09:23:00' WHERE `orders`.`order_number` = 108;
     
          $req = $PDO->prepare($sql);
     
    //       UPDATE `orders` SET `conducteur` = 'Philippe', `lieudepart` = 'Paris', `lieuarrive` = 'Pekin', `participation` = '500' WHERE `orders`.`order_number` = 46; 
    //       $stmt = $pdo->prepare($sql)->execute([$conducteur, $lieudepart, $lieuarrive, $participation, $datedepart, $datearrive, $idtrajet, $identifiant]);
          $req->execute(array(
     
              "conducteur" => $conducteur,
     
              "lieudepart" => $lieudepart,
     
              "lieuarrive" => $lieuarrive,
     
              "participation" => $participation,
     
              "datedepart" => $datedepart,
     
              "datearrive" => $datearrive,
     
              "order_number" => $order_number
     
    //           "idtrajet" => $idtrajet,
     
    //           "idmembre" => $idmembre
     
          ));
     
        } catch (PDOException $e) {
            die('Erreur :'.$e->getMessage());
        }
     
    //     echo "Success";
     
    }
    }
    functions.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    get_template_part('changeractivite'); 
     add_action(*'wp_ajax_changeractivite',*'changeractivite'*); 
     add_action('wp_ajax_nopriv_changeractivite',*'changeractivite');
    Est-ce comme ça que l'on doit faire ?

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    celui qui saura te répondre doit maîtriser Wordpress, Jquery et Ajax, ce qui ne doit pas être fréquent. Je n'appartiens pas à cette catégorie.

    Néanmoins, vu que tu as une idée complète du code requis, pourquoi ne pas faire une page de test ?

  3. #3
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Bonne idée.
    Une fonction de delete fonctionne mais pas toute le crud.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut Tu avances pas mal, je pense.
    Je serai bien tenté de faire la même réponse que LaurentSC.
    Il est essentiel que tu débugges, et trouve tes erreurs de raisonnement, syntaxe...
    Ensuite pour t'aider les fragments de code que tu donnes sont insuffisants, et n'étant pas commentés c'est au dessus de mes capacités.
    Éventuellement je peux t'adresser mon code, mais je pense déjà l'avoir fait dans une autre de tes questions, au moins en partie.
    Je te le renvoie avec quelques commentaires.

    SVP les puristes PHP, JS, JQUERY soyez indulgents avec mon code.....

    templateASA.php
    functions.php
    ASAscript.js

    PS: Cela fonctionne avec Elementor (Free).

  5. #5
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Voici un code update d'ordres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    jQuery("#coffre2").submit(function( event ) {
    	  event.preventDefault();
     
    	  var from_date = $('#from_date').val();
    	  var to_date = $('#to_date').val();
     
    	  var date1 = new Date(from_date);
    	  var date2 = new Date(to_date);
     
    	  // différence des heures
    	  var time_diff = date2.getTime()-date1.getTime();
     
    	   // différence de jours
    	  var days_Diff = time_diff / (1000 * 3600 * 24);
     
     
    	  if (days_Diff < 0) {alert("dates invalide");}
    	  else {
    	var order_number = localStorage.getItem("cleef"); 
    	var conducteur = jQuery('#conducteur').val();
    	var lieudepart = jQuery('#lieudepart').val();
    	var lieuarrive = jQuery('#lieuarrive').val();
    	var participation = jQuery('#participation').val();
    	var datedepart = jQuery('#from_date').val();
    	var datearrive = jQuery('#to_date').val();
     
     
    	ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ) ?>';
     
    	jQuery.ajax({
    		  url: ajaxurl,				  
    		  method: "POST",
    		  cache : false,
    		  data:  {
    	action:'changeractivite',
    	order_number : order_number,
    	conducteur : conducteur,
    	lieudepart: lieudepart,
    	lieuarrive: lieuarrive,
    	participation: participation,
    	datedepart: datedepart,
    	datearrive: datearrive
     
      				}, 
      				dataType: "text",
    			    "success": function (data, textStatus, jqXHR) {
    			        console.log("L'appel Ajax est une réussite.");
    //			        alert("longArrive " + longArrive);
    			       	           jQuery("#resultat").html("<p>La modification a ete effectuer avec succes ! </p><br><p>Vous allez etre rediriger sur la liste des activite");
               		setTimeout(function() {jQuery('#resultat').fadeOut();document.location.href = 'indexdate'}, 3000);
    //	     		    $('#resultat').fadeOut(2000,traitement_callback("hello world"));
    			    },
    			    "error": function (jqXHR, textStatus, errorThrown) {
    			        console.log("L'appel Ajax est un échec.");
    			        jQuery("#resultat").html("<p>mise a jour non effectuee...</p>");alert(data);			    
    			    }
    			}); 
     
    		};
     
    	});
    Le formulaire est soumis mais l'ordre n'est pas modifierr.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    /* 
     * Template Name: changeractivite
     * 
     * */
    function changeractivite() {
     
     
    if (isset($_POST['order_number'],$_POST['conducteur'],$_POST['conducteur'],$_POST['lieudepart'],$_POST['lieuarrive'],$_POST['participation'],$_POST['datedepart'],$_POST['datearrive'])) {
        $order_number = $_POST['order_number'];
        $conducteur = $_POST['conducteur'];
        $lieudepart = $_POST['lieudepart'];
        $lieuarrive = $_POST['lieuarrive'];
     
        $participation = $_POST['participation'];
     
        $datedepart = $_POST['datedepart'];
        $datearrive = $_POST ['datearrive'];
    //     $idtrajet = 0;
    //     $idmembre = 0;
     
        try {
     
            $PDO = new PDO('mysql:host=localhost;dbname=local','root','root');
            $PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
            $PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
    //       $pdo = new PDO('mysql:host=localhost;dbname=philippe','root','');
     
    //       $sql = "UPDATE orders SET conducteur=? , lieudepart=?, lieuarrive=?, participation=?, datedepart =?, datearrive =?, idtrajet =?  where order_number =?";
     
          $sql = "UPDATE orders SET conducteur = :conducteur , lieudepart = :lieudepart, lieuarrive = :lieuarrive, participation = :participation, datedepart = :datedepart, datearrive = :datearrive WHERE order_number = :order_number";
     
    //       UPDATE `orders` SET `conducteur` = 'PAS MOI', `lieudepart` = 'pekin', `lieuarrive` = 'Tapei', `participation` = '800', `datearrive` = '2022-09-30 09:23:00' WHERE `orders`.`order_number` = 108;
     
          $req = $PDO->prepare($sql);
     
    //       UPDATE `orders` SET `conducteur` = 'Philippe', `lieudepart` = 'Paris', `lieuarrive` = 'Pekin', `participation` = '500' WHERE `orders`.`order_number` = 46; 
    //       $stmt = $pdo->prepare($sql)->execute([$conducteur, $lieudepart, $lieuarrive, $participation, $datedepart, $datearrive, $idtrajet, $identifiant]);
          $req->execute(array(
     
              "conducteur" => $conducteur,
     
              "lieudepart" => $lieudepart,
     
              "lieuarrive" => $lieuarrive,
     
              "participation" => $participation,
     
              "datedepart" => $datedepart,
     
              "datearrive" => $datearrive,
     
              "order_number" => $order_number
     
    //           "idtrajet" => $idtrajet,
     
    //           "idmembre" => $idmembre
     
          ));
     
        } catch (PDOException $e) {
            echo('Erreur :'.$e->getMessage());
        }
     
        echo "Success";
     
    }
    Je vois pas pourquoi l'appel ajax est positif et que l'ajout d'un nouvel ordre ne se fait pas.
    Merci les potes.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut Débogage
    Bonjour,
    Lors du débogage, quel est le dernier appel réussi?
    Pour tester ton code il me semble manquer pas mal d'éléments.
    Cordialement.

  7. #7
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Voici le code insert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <?php
    
    /*  
     * Template Name: ajouteractivite
     * */
    <script type="text/javascript">
    jQuery(document).ready(function () {
    
    	jQuery("#coffre2").submit(function( event ) {
    	event.preventDefault();
    
    	  var from_date = $('#from_date').val();
    	  var to_date = $('#to_date').val();
              var date1 = new Date(from_date);
    	  var date2 = new Date(to_date);
    	  var time_diff = date2.getTime()-date1.getTime();	 
              var days_Diff = time_diff / (1000 * 3600 * 24);
    if (days_Diff < 0) {alert("dates invalide");}
    	  else {
    	  
    	var  conducteur = jQuery('#conducteur').val();
    	var  lieudepart = jQuery('#lieudepart').val();
    	var  lieuarrive = jQuery('#lieuarrive').val();
    	var  participation = jQuery('#participation').val();
    	var datedepart = jQuery('#from_date').val();
    	var datearrive = jQuery('#to_date').val();
    
    	alert('datedepart '+datedepart);
    	alert('datearrive' +datearrive);
    
    	ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ) ?>';
    	
    	jQuery.ajax({
    		  url: ajaxurl,				  
    		  method: "POST",
    		  cache : false,
    		  data: {
    			action: 'traitementactivite',
    			conducteur: $('#conducteur').val(),
    			lieudepart: $('#lieudepart').val(),
    			lieuarrive: $('#lieuarrive').val(),
    			participation: $('#participation').val(),
    			datedepart: datedepart,
    			datearrive: datearrive
    		  		},
    		  dataType: "text",
    		    "success": function (data, textStatus, jqXHR) {
    		        console.log("L'appel Ajax est une réussite.");
    //		        alert("longArrive " + longArrive);
    		       	jQuery("#resultat").html(" ! <p>Vous allez etre rediriger sur la liste des activite</p>");
            		setTimeout(function() {$('#resultat').fadeOut();document.location.href = 'indexdate'}, 3000);
    		        
    //     		    $('#resultat').fadeOut(2000,traitement_callback("hello world"));
    		    },
    		    "error": function (jqXHR, textStatus, errorThrown) {
    		        console.log("L'appel Ajax est un échec.");
    		        jQuery("#resultat").html("<p>Erreur lors de la connexion...</p>");
    		    }
    		});
    
    	  }
    et insert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function traitementactivite () {
    if(isset($_POST["conducteur"], $_POST["lieudepart"], $_POST["lieuarrive"],$_POST["participation"],$_POST["datedepart"], $_POST["datearrive"] )) {
    include 'db_config.php';
    // $order_number = NULL;
    $conducteur = htmlentities($_POST['conducteur']) ;
    $lieudepart = htmlentities($_POST['lieudepart']);
    $lieuarrive = htmlentities($_POST['lieuarrive']);
    $participation = htmlentities($_POST['participation']);
    $datedepart = $_POST['datedepart'];
    $datearrive = $_POST['datearrive'];$sql = "INSERT INTO orders (conducteur, lieudepart, lieuarrive, participation, datedepart, datearrive)
    VALUES ('$conducteur','$lieudepart','$lieuarrive','$participation','$datedepart','$datearrive')";
          
          $query=mysqli_query($con, $ql);
          if ($query) {
              echo "<script>alert('You have successfully inserted the data');</script>";
              echo "<script type='text/javascript'> document.location ='index.php'; </script>";
          }
          else
          {
              echo "<script>alert('Something Went Wrong. Please try again');</script>";
          }
    }}
    Bref sur le crud seule delete fonctionne.

    functions.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    add_action( 'wp_ajax_enregistreritineraire', 'enregistreritineraire' );
    add_action('wp_ajax_nopriv_enregistreritineraire', 'enregistreritineraire');
     
    get_template_part('supprimeractivite');
    add_action( 'wp_ajax_supprimeractivite', 'supprimeractivite' );
    add_action('wp_ajax_nopriv_supprimeractivite', 'supprimeractivite');
     
    get_template_part('changeractivite');
    add_action( 'wp_ajax_changeractivite', 'changeractivite' );
    add_action('wp_ajax_nopriv_changeractivite', 'changeractivite');
     
    get_template_part('traitementactivite');
     
    add_action( 'wp_ajax_traitementactivite', 'traitementactivite' );
    add_action('wp_ajax_nopriv_traitementactivite', 'traitementactivite');
     
    get_template_part('action');
    add_action( 'wp_ajax_action', 'action' );
    add_action('wp_ajax_nopriv_action', 'action');
     
    get_template_part('traitement');
    add_action( 'wp_ajax_traitement', 'traitement' );
    add_action('wp_ajax_nopriv_traitement', 'traitement');
     
    get_template_part('traitement2');
    add_action( 'wp_ajax_traitement', 'traitement2' );
    add_action('wp_ajax_nopriv_traitement', 'traitement2');
    Le delete.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?php
    /* 
     * Template Name: supprimeractivite
     * 
     * */
     
    function supprimeractivite() { 
     if (isset($_POST['identifiant'])) { 
         $order_number = $_POST['identifiant'];
    //      $order_number = 8;
     
     
        $req = "DELETE FROM `orders` WHERE `orders`.`order_number` = '$order_number'";
        $mysqli = new mysqli('127.0.0.1', 'root', 'root', 'local');
     
     
        if ($mysqli->connect_errno) {
            echo "Échec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
        }
     
     
        if (!$mysqli->query($req) ) {
            echo "Echec lors de la creation de la table : (" . $mysqli->errno . ") " . $mysqli->error;
        } 
     
        echo "Success";
     
     }
    }

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut Pourrais-tu montrer le template-part suivant?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_template_part('traitementactivite');

    Lors du débogage arrives-tu à avoir?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log("L'appel Ajax est une réussite.");
    Bonne journée

  9. #9
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Merci il n'y a pas de console.log
    console.log("L'appel Ajax est une réussite.");
    il y a
    Uncaught ReferenceError: jQuery is not defined
    at ...
    Mais il y a affichage juste aprés de
    jQuery("#resultat").html(" ! <p>Vous allez etre rediriger sur la liste des activite</p>");
    setTimeout(function() {$('#resultat').fadeOut();document.location.href = 'indexdate'}, 3000);
    Voici le get_template_part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    get_template_part('enregistreritineraire');
    add_action( 'wp_ajax_enregistreritineraire', 'enregistreritineraire' );
    add_action('wp_ajax_nopriv_enregistreritineraire', 'enregistreritineraire');
     
    get_template_part('supprimeractivite');
    add_action( 'wp_ajax_supprimeractivite', 'supprimeractivite' );
    add_action('wp_ajax_nopriv_supprimeractivite', 'supprimeractivite');
     
    get_template_part('changeractivite');
    add_action( 'wp_ajax_changeractivite', 'changeractivite' );
    add_action('wp_ajax_nopriv_changeractivite', 'changeractivite');
     
    get_template_part('traitementactivite');
    add_action( 'wp_ajax_traitementactivite', 'traitementactivite' );
    add_action('wp_ajax_nopriv_traitementactivite', 'traitementactivite');
     
    get_template_part('action');
    add_action( 'wp_ajax_action', 'action' );
    add_action('wp_ajax_nopriv_action', 'action');
     
    get_template_part('traitement');
    add_action( 'wp_ajax_traitement', 'traitement' );
    add_action('wp_ajax_nopriv_traitement', 'traitement');
     
    get_template_part('traitement2');
    add_action( 'wp_ajax_traitement', 'traitement2' );
    add_action('wp_ajax_nopriv_traitement', 'traitement2');
    Merci

  10. #10
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Citation Envoyé par Philcmoi Voir le message
    Merci il n'y a pas deconsole.log("L'appel Ajax est une réussite.");

    Voici le get_template_part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
     
    <?php
     
    /* 
     * Template Name: traitementactivite
     * 
     * */
    function traitementactivite () {
    if(isset($_POST["conducteur"], $_POST["lieudepart"], $_POST["lieuarrive"],$_POST["participation"],$_POST["datedepart"], $_POST["datearrive"] )) {
    include 'db_config.php';
    // $order_number = NULL;
    $conducteur = htmlentities($_POST['conducteur']) ;
    $lieudepart = htmlentities($_POST['lieudepart']);
    $lieuarrive = htmlentities($_POST['lieuarrive']);
    $participation = htmlentities($_POST['participation']);
    $datedepart = $_POST['datedepart'];
    $datearrive = $_POST['datearrive'];
     
    try {
     
     
          $PDO = new PDO('mysql:host=localhost;dbname=local','root','root');
          $PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
          $PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
     
          $sql = "INSERT INTO orders (conducteur, lieudepart, lieuarrive, participation, datedepart, datearrive)
    VALUES (:conducteur,:lieudepart,:lieuarrive,:participation,:datedepart,:datearrive)";
     
     
        $req = $PDO->prepare($sql);
     
        $PDO->query('SET foreign_key_checks = 0');
        //do some stuff here
     
     
        $req->execute(array(
     
            "conducteur" => $conducteur,
     
            "lieudepart" => $lieudepart,
     
            "lieuarrive" => $lieuarrive,
     
            "participation" => $participation,
     
            "datedepart" => $datedepart,
     
            "datearrive" => $datearrive
     
        ));
        $PDO->query('SET foreign_key_checks = 1');
     
      }
    catch(Exception $e)
     
    {
        echo '.$e->getMessage().';
    //     die('Erreur : '.$e->getMessage());
     
    }
     
    echo 'Success';
    }
    Merci

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut On approche!
    Tu as une piste sérieuse à cette adresse!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    il y a
    Uncaught ReferenceError: jQuery is not defined
    at ...
    A toi de trouver!

    Manifestement ton appel JQuery ne fonctionne pas, d'où le fait que ta procédure n'aboutisse pas.
    Tu notes que la suppression fonctionne, c'est un bon point!
    Essaie de procéder par paliers dans ton JQUERY.
    Bon Courage!

  12. #12
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Jquery n'est pas totalement été charger lors de la supression d'un evenement.
    or cela fonctionne lors de la supression. ?
    J'ai partout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/i18n/datepicker-fr.js"></script>		
    <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/javascripts/jquery.js"></script>		
    <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/javascripts/jquery.simple-dtpicker.js"></script>
    Or ca ne fonctionne pas partout sauf pour supprimer un odre sur tel page.

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut Oui mais...
    [CODE][il y a
    Uncaught ReferenceError: jQuery is not defined
    at .../CODE]

    Il faut que tu "rentres "dans ton code, le message recopié ci-dessus t'indique "approximativement" le niveau de ton erreur, ou du moins l'endroit où l'appel est fait.
    Probablement ton code JQuery comporte une ou plusieurs erreurs.

    Autres pistes tes nombreux (j'ai l'impression) appels à des programmes externes..
    Sans oublier ton Ami "GOOGLE".


  14. #14
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    L'érreure est là
    $(document).ready(function () {

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Par défaut Bravo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery(document).ready(function ()  vs $(document).ready(function ()  vs  jQuery(document).ready(fonction($)
    En effet tu t'es frotté à un des grands classiques!

    https://wpbeaches.com/jquery-documen...for-wordpress/

    Cette solution semble la meilleure: jQuery(document).ready(fonction($)

Discussions similaires

  1. Meilleurs méthodes pour une requête sql avec wordpress
    Par Philcmoi dans le forum WordPress
    Réponses: 0
    Dernier message: 15/12/2022, 16h10
  2. Méthode POST pour une requête sql
    Par killer2015 dans le forum Langage
    Réponses: 2
    Dernier message: 13/11/2016, 01h47
  3. [PDO] Echapper les caractères potentiellement dangereux pour une requête SQL avec LIKE
    Par JimDraw dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 17/12/2012, 10h46
  4. [MySQL] Meilleure configuration pour une requête SQL
    Par beninsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/05/2010, 17h21
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo