Recherche rapide
     
Espace Membres
il y'a actuellement 32370 membres
 
Pseudo  
Password  
inscriptions
 
Cours php/Tutoriels
  1/  Apprendre les bases de PHP
  1a/  Divers en PHP, les erreurs, les variables etc...
  2/  Les variables
  3/  Les variables d'environnements
  4/  Les conditions
  5/  Les boucles
  6/  Les cookies
  7/  Travailler sur les dates
  8/  Les tableaux array()
  9/  Travailler avec les fichiers
  10/  Traiter les chaines de caractères
  11/  Récuperer et verifier les données d'un formulaire
  12/  Envoyer des mails
  13/  Les pseudo-frames
  14/  Débuter avec mysql
  15/  Fonctions update et delete de mysql
  16/  Comprendre et utiliser la clause where
  17/  Liste de quelques fonctions mysql
  18/  Mysql par la pratique, construire un livre d'or
  19/  Construire un mini moteur ou annuaire
  20/  Afficher sur plusieurs pages
  21/  La construction de votre forum
  22/  Faire son script de sondage (vote)
  23/  Sessions , mise en pratique
  24/  Sessions , récapitulatif
  25/  Les expressions régulières
  26/  Coder son ANTI-FLOOD
  27/  Utiliser et créer ses fonctions
  28/  Upload et transfert de fichiers
 
 
 
Liens
  Les cours pour bien débuter PHP
Un mini moteur de recherche cours n°19

Mis à jour le 23-1-2007


Le but de se cours n'est pas de vous apprendre à construire un moteur performant, mais de vous montrer le fonctionnement d'une requête de recherche, donc il sera simple et détaillé, nous verrons par la suite pour développer un script plus complexe. Nous allons donc considérer qu'il s'agit d'un annuaire.

Création de la table

#
#structure de la table annuaire
#

CREATE TABLE annuaire_tbl (
id int NOT NULL auto_increment,
date varchar(20) NOT NULL,
url varchar (50) NOT NULL,
email varchar(55) NOT NULL,
description varchar(255)NOT NULL,
mots_cles varchar (255) NOT NULL,
PRIMARY KEY (id)
);

On choisi les paramètres classiques d'un annuaire soit l'url, l'email de l'auteur, la description du site ( 255 caractères maxi ) , les mots clés idem, 255 caractères, et on déclare l'id comme clé primaire

 
On crée un formulaire d'insertion

url du site
E-mail de l'auteur
Description du site
Mots clés
 

Code Html

<form method="post" action="ajouter.php">
<table style="width:400px; margin-left:auto; margin-right:auto">
<tr>
<td style="width:160px;height:17px"><strong>url du site</strong></td>
<td style="width240px; height:17px">
<input type="text" name="url" / >
</td>
</tr>
<tr>
<td style="width:160px"><strong>E-mail de l'auteur</strong></td>
<td style="width:240px">
<input type="text" name="email" / >
</td>
</tr>
<tr>
<td style="width:160px"><strong>Description du site</strong></td>
<td style="width:240px">
<input type="text" name="description" maxlength="255" size="30" />
</td>
</tr>
<tr>
<td style="width:160px"><strong>Mots cl&eacute;s</strong></td>
<td style="width:240px">
<input type="text" name="mots_cles" maxlength="255" size="30" />
</td>
</tr>
<tr>
<td style="width:160px">&nbsp;</td>
<td style="width:240px">
<input type="submit" name="button" value="Enregistrer" />
</td>
</tr>
</table>
</form>

On évitera les détails sur un formulaire html !
 
La page ajouter.php

<?php
//----------------------------------------------------------------
//
// Page d'insertion des données dans mysql
//
//Page ajouter.php
//
//----------------------------------------------------------------

$mysql_host = 'localhost'; // entrer votre hote ici
$mysql_user = 'votre login'; // entrer votre login
$mysql_password = 'password'; // entrer votre password
$mysql_base = 'le nom de votre base de donnée';
// entrer le nom de votre base

//----------------------------------------------------------------
//Attention, je ne vais pas reprendre les vérifications de formulaires, vous les avez vu dans les cours précédents.


//on se connecte à la base de donnée
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

//sélection de votre base de donnée
mysql_select_db($mysql_base,$db) or die ("erreur de connexion
base");


//la date pour l'insertion
$date = date("d-m-Y");

//remplacement des caractères

$url = AddSlashes (htmlspecialchars($_POST['url']));
$email = AddSlashes (htmlspecialchars($_POST['email']));
$description = AddSlashes (htmlspecialchars($_POST['description']));
$mots_cles = AddSlashes (htmlspecialchars($_POST['mots_cles']));


//requête d'insertion dans la table
mysql_query("INSERT Into annuaire_tbl (id,date,url,email,description,mots_cles) VALUES ('','$date','$url','$email','$description','$mots_cles') ") or die ("erreur requête ".mysql_error());

//on ferme la connexion
mysql_close();

//on redirige le visiteur sur une page de remerciement, je vous en laisse le soins
header('location: merci.php');


?>


Bon on a inséré les données, supprimés les caractères spéciaux, on est enfin près à se servir de l'annuaire, plutôt presque, il ne vous reste qu'à remplir la base ;-)

 
Le formulaire de recherche
Rechercher dans notre base
   
Entrez un mot clé
 
   

 



<form method="post" action="recherche.php">
<table style="width:400px; margin-left:auto ; margin-right:auto;">
<tr style="background:#000066">
<td colspan="2">
<div style="text-align:center; font-family:arial;font-size:12px;color:#fff;font-weight:bold">Rechercher
dans n&ocirc;tre base</div>
</td>
</tr>
<tr>
<td style="width:164px">&nbsp;</td>
<td style="width:236px">&nbsp;</td>
</tr>
<tr>
<td style="width164px">Entrez mot cl&eacute;</td>
<td style="width:236px">
<input type="text" name="recherche" / >
</td>
</tr>
<tr>
<td style="width:164px">
<input type="submit" name="Submit2" value="Rechercher" />
</td>
<td style="width:236px">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
</table>
</form>

Toujours pas d'explications sur le html
 
La page recherche.php

<?php
//----------------------------------------------------------------
//
// Page de recherche avec le mot ou les mots clés
//
// recherche.php
//
//----------------------------------------------------------------

$mysql_host = 'localhost'; // entrer votre hote ici
$mysql_user = 'votre login'; // entrer votre login
$mysql_password = 'password'; // entrer votre password
$mysql_base = 'le nom de votre base de donnée';
// entrer le nom de votre base

//----------------------------------------------------------------
//Attention, je ne vais pas reprendre les vérifications de formulaires, vous les avez vu dans les cours précédents.


//on se connecte à la base de donnée
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

//sélection de votre base de donnée
mysql_select_db($mysql_base,$db) or die ("erreur de connexion
base");



//requête de recherche
$req = mysql_query("SELECT url,description, email from annuaire_tbl where mots_cles LIKE '%$_POST[recherche]%' Order by url Asc ") or die ("erreur req ".mysql_error());

//on compte les résultats
$res= mysql_numrows($req);


//on affiche le nombre de résultats trouvés
print 'Pour le mot '.$recherche.' il y\'a '.$res.' résultats <br>';


//----------------------------------------------------------------------
//on ressort les infos par ordres alphabétiques, voir order dans la requête

while( $sortie = mysql_fetch_array($req))
{

print '<strong>Description du site:</strong><br / >';
print $sortie['description'].'<br />';
print'<a href="'.$sortie['url'].'">'.$sortie['url'].'</a><br / >';
print '-----------------------------------------------------------------';
// c'est juste une ligne de séparation ;-)

}//fin de boucle

//on ferme la connexion
mysql_close();



?>

Bon j'ai comme l'impression que c'est terminé ! Alors inutile de répéter que comme dans le cours précédent, j'ai oublié certaines choses, si vous avez lu tous les cours, vous ne rencontrerez pas de problèmes, et attention, pas de copié collé, on tape sur le clavier avec ses p'tits doigts ! ;-)

 

A vos claviers et bonne prog
'e' Stressman


>>> Cours suivant n° 1

 

 
 
Rubrique installer
  1°/  Apache et PHP
  2°/  Mysql sur votre PC (version tar.gz)
  3°/  Mysql sur votre PC (version rpm)
 
Newsletter

 
Votez !!
Pas de votes ni suggestions actuellement
 
 
 
Débuter Linux
 1°/   Introduction
 2°/   Installation ( 1ere partie )
 3°/   Installation ( 2ème partie )
 4°/   Connexion / documentation / Synthaxe
 5°/   Les différentes commandes sous linux
 6°/   Installer / Désinstaller / Lister les applications
 7°/   Manipulation des chaines de caractères
 
    © Copyright 2005 - az-php.com - tous droits réservés , reproduction interdite . Hébergé par 1hebergeur.com [ mentions légales & copyright ]