PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-04-2010 12:49:05

biboum
Membre
Inscription : 08-04-2010
Messages : 1

une requête SQL par des hypothèses

Bonjour,

J'aimerai pouvoir faire une requête SQL. Sauf que cette requête serait soumise à de nombreuses hypothèses.
Déjà si l'élément existe ou non pour le nom de la partie, si oui, on va chercher dans la BDD avec un LIKE. Si non, on cherche tout les noms de partie.
Et ça avec environ 6hypothèses différentes. Dans le code ici, il n'y en a que deux.
N'y a t'il pas un moyen de différencier nos éléments d'une requête ?
De les inscrire dans des variables ?

Merci d'avance de votre aide !


<?php
     $query = array();
     // on test la validité des champs
     if (!empty($_POST['nom'])) {
          $query[] = "nom_partie LIKE '%".mysql_real_escape_string($_POST['nom'])."%'";
     }
     if (!empty($_POST['nombre_joueur'])) {
          $query[] = "nombre_joueur LIKE '%".intval($_POST['nombre_joueur'])."%'";
     }
     // etc.
     // on exécute notre requête
     $result = mysql_query(implode(' || ', $query));
     $nb_resultats = mysql_num_rows($result);
     // La première idée comme je l'imaginais. A différencier d'au dessus car la même idée, retranscrite différemment.

     $nom = $_POST['nom'];
     if(empty($nom)) {$recherchenom= "";}
     else {$recherchenom = " WHERE nom_partie LIKE '%$requete%'";}

     $nombrejoueur = $_POST['nombre_joueur'];
     if($nombrejoueur == 0) {$recherchenombrejoueur = "";}
     else {$recherchenombrejoueur = "AND nombre_joueur BETWEEN 2 AND 6";}

     $query = mysql_query("SELECT * FROM a_jeu_partie ".$recherchenom." ".$recherchenombrejoueur."") or die (mysql_error());
   ?>

Dernière modification par biboum (08-04-2010 12:51:31)

Hors ligne

#2 09-04-2010 13:43:52

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : une requête SQL par des hypothèses

Salut

J'ai modifié la présentation de ton code afin de le rendre plus concis / lisible.
Pour ta question, OUI, on peut passer tout les paramètres d'une requête en variable... Tout est question de concaténation !


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

Pied de page des forums