Bonjour,

J'ai réalisé un moteur de recherche interne qui fonctionne merveilleusement bien. Je voudrais l'améliorer, et notamment lorsque la recherche ne donne rien. Lorsque je lance la requête, j'ai un écran blanc. J'aimerais donc qu'un message du genre "La recherche n'a donné aucun résultat".

J'ai bien essayé de mettre une condition pour ce faire, mais toujours cet écran blanc, je sèche...

Voici mon code :

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
mysql_select_db(""); // Sélection de la base 
 
        // Connexion à la BDD ici !
$textfieldsql = mysql_real_escape_string($_POST['textfield']);
        // Récupération des données type de commerce
        if (isset($_POST['type']) && $_POST['type'] != "no") {
$type = " AND type = '".mysql_real_escape_string($_POST['type'])."'";
        }
        else { $type = ""; }
 
       // Récupération des données de secteur d'activité
if (isset($_POST[secteur]) && $_POST[secteur] != "no") { 
$secteur = " AND secteur LIKE '%".mysql_real_escape_string($_POST['secteur'])."%'"; 
} 
else { $secteur = ""; } 
  // Récupération des données adresse (rues)
if (isset($_POST[adresse]) && $_POST[adresse] != "no") { 
$adresse = " AND adresse LIKE '%".mysql_real_escape_string($_POST['adresse'])."%'"; 
} 
else { $adresse = ""; } 
 
    // Récupération des données de secteur géographique
if (isset($_POST[geographie]) && $_POST[geographie] != "no") { 
$geographie = " AND geographie LIKE '%".mysql_real_escape_string($_POST['geographie'])."%'"; 
} 
else { $geographie = ""; } 
  // Récupération des données de description
 
if (isset($_POST[textfield]) && $_POST[textfield] != "no") { 
$textfield =  "  AND ( nom LIKE '%".$textfieldsql."%' OR type LIKE '%".$textfieldsql."%' OR secteur LIKE '%".$textfieldsql."%' OR numero LIKE '%".$textfieldsql."%' OR horaires LIKE '%".$textfieldsql."%' OR geographie LIKE '%".$textfieldsql."%' OR description LIKE '%".$textfieldsql."%' )";
} 
else { $textfield = ""; } //création de la fonction d'appel url
$url = mysql_query("SELECT details FROM locatif"); // Requête SQL
 
        // Création de la requête SQL          		
		$select = "SELECT * FROM commerces WHERE 1".$type.$secteur.$adresse.$geographie.$textfield." ORDER BY id";
 
	    // Exécution de la requête
        $raw = mysql_query($select) or die(mysql_error());
 
	$nb_resultats = mysql_num_rows($raw) or die(mysql_error());
	  // Fermeture connexion
                mysql_close();
 
 
 if($nb_resultats != 0) //si le nombre de résultats est différent de 0
{
echo 'Nous avons trouvé '.$nb_resultats; 
if($nb_resultats > 1) { echo ' résultats : '; } else { echo ' résultat '; }
 
				  // on affiche le nombre de résultats 
// on vérifie le nombre de résultats pour orthographier correctement. 
 
// Affichage des données
 
				while
               ($data = mysql_fetch_array($raw))
                {
                        print ("
			<span class='timesbleu18'>".$data['nom']."</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
			<a href=".$data['details'].">détails</a>
						<br><br>
						".$data['type']."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
						".$data['numero']."
						".$data['adresse']."<br><br>
						".$data['description']."<br><br><br><hr>
						  ");
                }
}
else {
	echo "Pas de résultats";
}
 
        ?>
Pour info, si je fais un "echo $nb_resultats;" avant mon "if($nb_resultats != 0)" , j'obtiens un parse error :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Parse error: syntax error, unexpected T_IF in /homepages/12/d218200567/htdocs/maquettes/ceres/resultat.php on line 56
La ligne 56 correspond à ceci dans mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php   if($nb_resultats != 0) ?>
Je sèche complètement, je ne vois pas où se loge ce petit grain de sable qui bloque les rouages de mon script...

En remerciant par avance les âmes charitables qui vont me donner un petit coup de pouce,

L.C.