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 :
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
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> <a href=".$data['details'].">détails</a> <br><br> ".$data['type']." ".$data['numero']." ".$data['adresse']."<br><br> ".$data['description']."<br><br><br><hr> "); } } else { echo "Pas de résultats"; } ?>
La ligne 56 correspond à ceci dans mon code :
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
Je sèche complètement, je ne vois pas où se loge ce petit grain de sable qui bloque les rouages de mon script...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php if($nb_resultats != 0) ?>
En remerciant par avance les âmes charitables qui vont me donner un petit coup de pouce,
L.C.
Partager