Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1031 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variable à la suite...AIDE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable à la suite...AIDE

n°1328488
jiojiofore​ver
Posté le 19-03-2006 à 22:02:54  profilanswer
 

Salut je voudrais faire une requête selon plusieurs critiques que l'utilisateur aura choisi. Une sorte de recherche avancée avec la catégorie du jeu, son prix, l'age etc etc
 
Donc en gros j'ai ça  pour la CATEGORIE
 
  if ($_POST['categorie'] = "*" )  
     $Categorie = 'jeu.num_cat = categorie.num_cat';  
      else // sinon c'est que l'on a choisit une catégorie précise
  $Categorie = 'jeu.num_cat = categorie.num_cat and categorie.num_cat = '.$_POST[categorie];  
 
pour l''AGE etc etc  
 
  if ($_POST['age'] != "" )
     $Age = 'and jeu.age_jeu'.$_POST['operateurAge'].$_POST['age'];
    else
  $Age = "";
 
 
 
et je voudrais donc construire ma requête comme cela :
 
$req = mysql_query('SELECT * FROM jeu WHERE'.$Categorie $Age $Joueur $Prix  ,$connect);
 
mais ça ne marche pas ^^
merci d'avance
 
 
si ça peut vous aider, j'avais vu un peu ce sujet sur un autre site mais pas de solution correcte...sur http://www.phpcs.com/infomsg/VARIA [...] 87324.aspx

mood
Publicité
Posté le 19-03-2006 à 22:02:54  profilanswer
 

n°1328499
newneo2001
Posté le 19-03-2006 à 22:23:16  profilanswer
 

$req = mysql_query('SELECT * FROM jeu WHERE categorie LIKE \'%'.$Categorie.'%\'' AND age = '. $Age );  
 
voila à toi de compléter


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1328505
jiojiofore​ver
Posté le 19-03-2006 à 22:28:35  profilanswer
 

hum je sois pas sur que ça soit encore comme ça...si l'utilisateur ne choisit pas d'age...il faut que ça soit vide dans ma requête...et j'ai fait ça par rapport à un test (la haut) et toi tu écris en dur ce que tu veux dans la requête tu vois ce que je veux dire :s

n°1328509
nargy
Posté le 19-03-2006 à 22:40:56  profilanswer
 

utilise addslahes() quand tu mets des valeurs prisent du web dans tes requêtes.
 
le $_POST['operateurAge'] c est pas terrible non plus, y a toujours un petit malin qui peut trouver la faille pour s amuser avec ta BDD. vérifie d abord que l opérateur est valable: > < >= <= =
 
Sinon, quand j ai besoin de faire ce genre de recherches, j utilise une array condition:
 
$conditions=array();
 
Puis je la remplie avec les conditions et jointures, celà permet de bien séparer les diverses options de recherche, et de rendre les critères facilement optionnels pour l internaute. A la fin j utilise:
 
$where=implode(' AND ',$conditions);
 
En général ça me permet de rendre le code plus clair, d éviter de déclarer plein de variables dont je ne me rappellerai pas forcément, et donc d éviter des erreurs.

n°1328515
jiojiofore​ver
Posté le 19-03-2006 à 22:51:48  profilanswer
 

oula oula jamais toutes ces choses là :s...tu sais c'est pour un petit projet d'exams client / serveur la sécurité c'est pas le 1er objectif...
parce que les  addslahes() & implode() j'ai jamais vu ça :s
J'ai seulement 4 5 criteres de selection...il faut juste arriver à les mettre bout à bout :$
merci en tout cas

n°1329031
jiojiofore​ver
Posté le 20-03-2006 à 19:46:42  profilanswer
 

le truc c'est juste qu'il faut coller des bouts de chaînes c'est tout :(
mais je ne pense pas que comme ça ça soit possible....
 
$req = mysql_query('SELECT * FROM jeu WHERE'.$Categorie $Age $Joueur $Prix)

n°1329050
nargy
Posté le 20-03-2006 à 20:24:11  profilanswer
 

$req = mysql_query('SELECT * FROM jeu WHERE'.$Categorie.$Age.$Joueur.$Prix)

n°1329218
newneo2001
Posté le 21-03-2006 à 06:52:52  profilanswer
 

$sql = 'SELECT * FROM jeu WHERE categ=\''.myesql_real_escaped_strings($_POST['categ']).\''
 
if (isset($_POST['age'])
 $sql .= 'AND age=\''.intval($_POST['age']).'\''
 
tu rajoutes comme ca ton critère que qd il est choisi et ta requete fonctionne.  
Autre truc souvent abordé aussi ce n'est pas addslashes qu'il faut utiliser danstes requêtes mais mysql_real_escaped_string
 
++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable à la suite...AIDE

 

Sujets relatifs
creer variable globale modifable par les subaide sure les recordset dans ACCESS
recherche dans une chaine de caractères. un peu d'aide SVPbesoin d'aide css
besion d'aide sur un tuto de tomcat avec jndi [resolu][VBA] fichier d'aide compilé
[résolu] Enregistrer page.php interpretté dans un variableBesoin d'aide pour lister contenu d'un dossier
echange de variableprobleme scrol bar( svp de l'aide)
Plus de sujets relatifs à : Variable à la suite...AIDE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR