La clause WHERE $champ = ... possible?
Hors ligneDan4 Le 14/04/2010 à 08:25 Profil de Dan4 Configuration de Dan4

Bonjour! Je me demande si placer une variable après la clause where est une syntaxe correct et si non, si elle est acceptée?

au lieu d'écrire la clause where pour chacune des tables, je cru que placer une variable pour le champ de la clause.

[code]  
$champ=$_POST['rechercherpar'];
$mot=$_POST['mot_cle'];
  
$resultat = mysql_query("select * from produits where $champ= '".$mot."'");
$ligne=mysql_fetch_array($resultat);
$nb=mysql_num_rows($resultat);
[/code]

but recherché :

Rechercher dans une des tables présélectionnées avec un formulaire qui donne "champ" le contenu de la variable $mot.

ça me donne comme erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\winfolders\EasyPHP5.2.10\www\test\search.php  on line 11

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\winfolders\EasyPHP5.2.10\www\test\search.php on line 12

Hors ligneTenebriox Le 14/04/2010 à 14:48 Profil de Tenebriox Configuration de Tenebriox

Essayes de faire un echo de ta requête pour voir si elle est correcte !

--
"Une société égalitaire, c'est le contraire d'une société de liberté et de responsabilité." N. Sarkozy
Hors ligneDan4 Le 14/04/2010 à 17:47 Profil de Dan4 Configuration de Dan4

Tenebriox a écrit:

Essayes de faire un echo de ta requête pour voir si elle est correcte !

Merci. ça m'a mis sur la piste.

<?php

function search() {
   $champ=$_POST['rechercherpar'];
   $mot=$_POST['mot_cle'];
   $resultat = mysql_query("select * from produits where $champ= '".$mot."'");

   $ligne = mysql_fetch_array($resultat);
   $nb = mysql_num_rows($resultat);

   $i=0;
   while($i<$nb) {
   $nom=$ligne['nocat'];
   $prenom=$ligne['details'];
   $tel=$ligne['prix'];
   echo $nom.' '.$prenom.' '.$tel.'<br />';
   $i=$i+1;
   }
}
search();

?>

    <form action="" method="post">
    Rechercher par <select name="rechercherpar">
    <option value="nocat">nocat</option>
    <option value="details">details</option>
    </select>
    Mot clé <input type="text" name="mot_cle">
    <input type="submit" value="Rechercher">
    </form>

     search();

Ça marche bien. Il faut que je l'adapte à mon script principal.

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels