• WORDPRESS > requêtes SQL

      Pour créer de vraies requêtes SQL à partir de WordPress, voici comment faire :

      RAPPEL

      Une requête est de la forme :

       

       SELECT * FROM nom_table WHERE blabla = bloblo

      AFFICHER LE RÉSULTAT DANS UNE BOUCLE

       $sql = $wpdb->prepare("requête");
      $messages = $wpdb->get_results($sql);
      if ( $messages ){
         foreach ( $messages as $id ){
            $nom_1 = $id->nom_colonne;
            ...
         }
      }

       

      $messages pour vérifier si il y a une réponse à la requête.

      $nom_1 nom de la variable qui va recevoir les données de la colonne nom_colonne

      $nom_1 peut être un tableau $nom_1[] = …

      AFFICHER RÉSULTAT UNIQUE

      $wpdb->get_var('requête');
      echo $wpdb;

      REQUÊTE AVEC DES VARIABLES

      Variable numérique

      $sql = $wpdb->prepare(" SELECT * FROM nom_table WHERE blabla = '%d' " , $VAR );

      Variable alphabétique ou chaine de caractères

      $sql = $wpdb->prepare(" SELECT * FROM nom_table WHERE blabla = '%s' " , $VAR );

      UPDATE

      $result = $wpdb->update('nom_table', 
                               array('colonne_1' => $var_1,
                                     'colonne_2' => $var_2,
                                     'colonne_3' => $var_3
                                     ),
                               array(
                                     'colonne_condition' => $var_condition
                                     ),
                               array(
                                     '%d',
                                     '%s',
                                     '%s'
                                     ),
                               array(
                                     '%d'
                                     )
                             );
      
      if($result > 0){
         echo "Update OK";
      }else{
         exit( var_dump( $wpdb->last_query ) );
      }
      
      $wpdb->flush();

       

      EXPLICATIONS :

       

      colonne_x nom de la colonne à modifier. Si plusieurs colonnes, alors les séparer par une virgule.

       

      $var_x valeur ou donnée que devra prendre la colonne en question. Ne pas oublier le report de la catégorie de la variable dans le dernier array.

       

      colonne_condition nom de la colonne sur laquelle sera faite la condition WHERE. Si plusieurs conditions, alors les séparer par une virgule.

       

      $var_condition valeur que doit prendre la colonne_condition pour la condition WHERE. Ne pas oublier le report de la catégorie de la variable dans le dernier array.

       

      %d %d si la variable est de type decimal ou entier.

       

      %s %s si la variable est de type string ou chaine de caractères.

       

      var_dump(…) pour voir là où la requête a échoué. Affiche la requête ainsi que les valeurs passées.

       

      $wpdb->flush() pour vider le cache pour la prochaine requête.

 

Aucun commentaire

 

Laissez un commentaire