Moteur sql

manureva2b -  
 manureva2b -
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> 


7 réponses

  1. manureva2b
     
    Bonjour à tous,

    personne pour m'aider?

    :/
    0
  2. chacalturk Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   1
     
    attends, tu as une base de donnée avec une table?
    0
  3. chacalturk Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   1
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. manureva2b
     
    t'as raison désolé, rien ne s'affiche :/
    0
  6. manureva2b
     
    -- 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