Moteur sql

Fermé
manureva2b - Modifié par manureva2b le 10/02/2012 à 17:24
 manureva2b - 11 févr. 2012 à 10:34
Bonjour,

J'essaie de faire un moteur de recherche sur mon site interne.

J'ai trouvé un code sur ccm et j'ai essayé de l'adapter, mais a priori j'ai oublié quelque chose :/

Le but est de trouver les établissements soit par la ville ou code postal.

Les résultats doit donner :

nom_annonce
adresse
tél
mail

voici mon code

mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible"); 

// on choisit la bonne base 
mysql_select_db($bdd) or die ("Connexion a la base impossible"); 

echo " 


Résultat de la recherche"; 

if (($Mot == "")||($Mot == "%")) { 
// Si aucun mot clé n'a été saisi, 
// le script demande à l'utilisateur 
// de bien vouloir préciser un mot clé 

 echo " 
 Veuillez entrer un recherche soit par ville , code postal. 
 <p>"; 

} 

else { 
// On selectionne les enregistrements contenant le mot clé 
// dans les villes ou catégories 
 $query = "SELECT distinct count(ville_annonce,code_postal_annonce) FROM T_annonce WHERE ville_annonce LIKE \"%$Mot%\" OR code_postal_annonce LIKE \"%$Mot%\""; 

 $result = mysql_query($query); 

 $row = mysql_fetch_row($result); 

 $Nombre = $row[0]; 

// Si aucun enregistrement n'est retourné, 
// on affiche un message adéquat 
if ($Nombre == "0") { 
 echo " 
 <h2>Aucun résultat ne correspond à votre recherche</h2> 

 <p> 

 "; 

} 

// Sinon, on affiche le nombre d'enregistrements correspondant 
// et les résultats eux-mêmes 
else { 
 $query = "SELECT distinct ville_annonce,code_postal_annonce FROM T_annonce 
 WHERE ville_annonce LIKE \"%$Mot%\" 
 OR code_postal_anonce LIKE \"%$Mot%\" ORDER by ville_annonce ASC"; 

 $result = mysql_query($query); 

 // Si un seul enregistrement est trouvé, on affiche un message au singulier 
 if ($Nombre == "1") { 
 echo " 
 <a name=\"#resultat\"><h2>Résultat: Un établissement trouvé</h2></a> 

 <p>"; 

 } 
 // Dans le cas contraire le message est au pluriel... 
 else { 
 echo " 
 <a name=\"#resultat\"><h2>Résultat: $Nombre établissements trouvés</h2></a> 

 <p>"; 

 } 
 while($list = mysql_fetch_array( $query ))  
{ 


$Ville_annonce = $list[0]; 

$Code_postal_annonce = $list[1]; 



 echo "<tr>\n 
  
    <tr><td bgcolore=\"#0067A6\"><h1>$Ville_annonce</h1></td></tr> 
    <tr><td>Référence: $Code_postal_annonce en ligne </td></tr>     
 
     
    "; 

} 

// Deconnexion de la base de donnees 
mysql_close(); 
} 
?></td> 


A voir également:

7 réponses

Bonjour à tous,

personne pour m'aider?

:/
0
oui
0
chacalturk Messages postés 34 Date d'inscription samedi 11 février 2012 Statut Membre Dernière intervention 30 mai 2013 1
11 févr. 2012 à 10:16
attends, tu as une base de donnée avec une table?
0
chacalturk Messages postés 34 Date d'inscription samedi 11 février 2012 Statut Membre Dernière intervention 30 mai 2013 1
11 févr. 2012 à 10:17
il nous plus d'informations si tu veux de l'aide, comme ça il m'est impossible d'évaluer le problème, qu'est ce qui ne marche pas? Rien ne s'affiche? il y a un message d'erreur ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t'as raison désolé, rien ne s'affiche :/
0
chacalturk Messages postés 34 Date d'inscription samedi 11 février 2012 Statut Membre Dernière intervention 30 mai 2013 1
11 févr. 2012 à 10:26
il me faut ta table aussi, tu peux la poster ? Sinon, j'utilise souvent ce code https://www.sqlmaestro.com/products/mysql/phpgenerator pour générer de petites bases de données, çà marche bien !
0
-- Structure de la table 'T_annonce'
--

CREATE TABLE IF NOT EXISTS 'T_annonce' (
  'id_annonce' int(255) NOT NULL AUTO_INCREMENT,
  'categorie_annonce' varchar(50) NOT NULL,
  'nom_annonce' varchar(100) NOT NULL,
  'mail_annonce' varchar(50) NOT NULL,
  'tel_annonce' varchar(15) NOT NULL,
  'web_annonce' varchar(70) NOT NULL,
  'adresse_annonce' varchar(50) NOT NULL,
  'code_postal_annonce' varchar(10) NOT NULL,
  'ville_annonce' varchar(50) NOT NULL,
  'descriptif_annonce' varchar(1300) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  'departement_annonce' varchar(60) DEFAULT NULL,
  PRIMARY KEY ('id_annonce')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
0