Bonjour,
j'essaie de faire une requette de recherche à partir d'une liste déroulante :
Il ne fonctionne pas et je ne comprend pas pourquoi, sa me semble bien écrit ?
A l'envoi j'ai ce genre d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\projet\essai_resultat.php on line 44
Le lien
http://creatif-web.be/projet/essai_deroulant.php
Le formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
print <<<EAO
<p>Moteur de recherche :</p>
<form action="essai_resultat.php" method="post">
Choisissez le type de recherche.<br />
  <select name="searchtype">
    <option value="leprojet">Projet</option>
    <option value="pseudo">Pseudo</option>
    <option value="facultatif">Information personnel</option>
  </select><br />
  Rentrée un terme :<br />
  <input type='text' name='searchterm'><br />
  <input type='submit' value='Search'>
</form>
EAO;
?>
La page de réception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
$searchtype=$_POST['searchtype'];
$searchterm=$_POST['searchterm'];
 
$searchterm=trim($searchterm);
 
if (!$searchterm || !$searchtype) {
    print "Vous n'avez pas détailler votre recherche. Veuillez s'il vous plais réessayer encore une fois";
    exit();
}
if (!get_magic_quotes_gpc()) {
    $searchtype=addslashes($searchtype);
    $searchterm=addslashes($searchterm);
}
###################################CONNEXION##############
require ("inc/connexion.inc.php");
$lien=mysql_connect(SERVEUR, NOM, PASSE);
 
// test de connexion au serveur
if (!$lien) {
    echo "Désolé, connexion à " .SERVEUR ." impossible\n"; }
    //echo "merci<br />";
// test de connexion à la base
if (!mysql_select_db(BASE, $lien)) {
    echo "Acces to base denied " .BASE ." impossible\n";
    }    else { //echo "selection de la base ok<br />";
    }
 
if (!mysql_select_db(BASE, $lien)) {
    $erreurbdd=mysql_error();
    return false;
}    
################################### FIN DE CONNEXION #########
$requete="SELECT * FROM eprojet where ".$searchtype." like'%".searchterm."%' ";
$resultat=mysql_query($lien, $requette);
$num_resultat=mysql_num_rows($resultat);
// la fonction mysqli_num_rows() stock le nombre de ligne
for ($i=0; $i<$num_resultat; $i++) {
    // traitement
    $row=mysql_fetch_assoc($resultat);
    echo ($i+1)."/";
    print "<br />Projet : ";
    print stripslashes($row['leprojet'])."<br />";
    print "facultatif (champs facultatif)): ";
    print stripslashes($row['facultatif'])."<br />";
    print "pseudo: ";
    print stripslashes($row['pseudo'])."<br />";
}
mysql_free_result($resultat);
mysql_close($lien);
?>
Merci