Recherche par menu déroulant : option "tous" : pb

dmxmoteur
Invité n'ayant pas de compte PHPfrance

13 mai 2005, 13:12

Bonjour,

J'ai conçu une petite interface de recherche par menu déroulant. Dans ma base MySQL une table d'annonces OFFRES avec un titre, un descriptif et 4 catégorisations : CODE_REG, CODE_FOR, CODE_FONC, CODE_TYP correspondant à 4 tables liées REGION (ID_reg, nom_reg, code_reg), FORMATION (...), FONCTION, TYPES.
Sur la page de formulaire les 4 menus déroulants : VARregion, VARformation, VARfonction, VARtype.
Je souhaite offrir à l'utilisateur la possibilité de rechercher sur l'option "toutes régions", "toutes formations" etc.
Sur la page de résultats :
// Pour rechercher sur l'option "tous"
$VARfonction = $_POST['VARfonction'];
$VARformation = $_POST['VARformation'];
$VARregion = $_POST['VARregion'];
$VARtype = $_POST['VARtype'];
 if ($VARfonction == "fczz") $VARfonction="fc%";
 if ($VARformation =="fozz") $VARformation="fo%";
 if($VARregion == "rezz") $VARregion="re%";
 if($VARtype == "tyzz")  $VARtype="ty%";

mysql_select_db($database_emploi, $emploi);
$query_Recordset1 = sprintf("SELECT offres.`DATE`, offres.INTITULE, offres.CODE_REG FROM offres WHERE (offres.CODE_FONC LIKE '$VARfonction') AND (offres.CODE_FOR LIKE '$VARformation') AND (offres.CODE_REG LIKE '$VARregion') AND (offres.CODE_TYP LIKE '$VARtype'");
$Recordset1 = mysql_query($query_Recordset1, $emploi) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
Au final quand j'execute la recherche j'obtiens le message :
Warning: sprintf(): Too few arguments in c:\program files\easyphp1-7\www\emploi\result_rech_offre.php on line 15
Query est vide.


Qui peut me dire pourquoi.

Merci par avance !!

Eléphant du PHP | 357 Messages

13 mai 2005, 14:16

j'ai peu etre un question bète mais pourquoi ne met tu pas :
$query_Recordset1 =mysql_query(
a la place de :
$query_Recordset1 = sprintf(
toutefois une chose est sure c'est que dans ta requette evide de mettre en brut les variable php telle que:
LIKE '$VARfonction'
mais fais plutot :
LIKE "'.$VARfonction'"
tu y gagneras ;)

dmxmoteur
Invité n'ayant pas de compte PHPfrance

13 mai 2005, 15:11

Merci ! Ca marche !! Effectivement il fallait enlever le sprint() !!