PHP|Débutant :: Forums

Advertisement

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

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

#1 Forum Général PHP » une requête SQL par des hypothèses » 09-04-2010 13:43:52

biboum
Réponses : 1

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());
   ?>

Pied de page des forums

Propulsé par FluxBB