begin process at 2010 02 09 22:42:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > RECHERCHE DANS UNE BASE MYSQL

RECHERCHE DANS UNE BASE MYSQL


 Information sur la source

Note :
3,33 / 10 - par 3 personnes
3,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Classé sous :recherche, base, mysql, php, haryou Niveau :Débutant Date de création :13/03/2005 Date de mise à jour :30/11/2005 06:20:47 Vu :18 660

Auteur : haryou

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Ce script est assez simple.
Il permet de faire une recherche sur des bases mysql.
Mes deux champs sur lesquels je fais ma recherche: client, file
Ma table : doc_clients
***
CREATE TABLE doc_clients (
   id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
   client VARCHAR (100) not null,
   file VARCHAR (100) not null
);
***
$motclef[$nbre_mots]) > 2 => permet de limiter la recherche (+de 2 caractères).
Je vous le propose.
haryou@free.fr

Source

  • Fichier config.php
  • ----------------------
  • <?
  • // Paramètres de connexion à la base de données
  • $host = "localhost"; // Host de la base de données
  • $user = "user"; // Login
  • $pass = "pwd"; // Mot de passe
  • $bdd = "bdd"; // Nom de la base de données
  • $table = "doc_clients"; // Nom de la table principale
  • $url = "http://lifeforce.int.xxxx.fr/stc/stcdoc/doc_clients/specificit_clients/"; // Répertoire contenant les différentes fiches
  • ?>
  • ----------------------
  • Fichier recherche.php
  • ---------------------------
  • <script language="JavaScript">
  • <!--
  • function rechercher() {
  • document.form_recherche.submit();
  • }
  • -->
  • </script>
  • <form name="form_recherche" method="post" action="<? echo $URL; ?>">
  • <input type="text" name="recherche" size="40" maxlength="100">
  • <input name="Submit" type="button" value="Rechercher" onclick="rechercher()">
  • </form>
  • <?
  • require 'includes/config.php';
  • // Connexion à la base de données
  • @mysql_connect($host,$user,$pass)
  • or die("Impossible de se connecter à la base de données");
  • @mysql_select_db("$bdd")
  • or die("Impossible de se connecter à la base de données");
  • // Variables
  • $recherche = strtolower($recherche);
  • $motclef = explode(" ",$recherche);
  • $nbre_mots = 0;
  • // Requête pour la recherche
  • while ($nbre_mots < sizeof($motclef)) {
  • if (strlen($motclef[$nbre_mots]) > 2) {
  • $query_client = mysql_query ("SELECT client, file FROM $table WHERE client LIKE '%$motclef[$nbre_mots]%' ");
  • $query_file = mysql_query ("SELECT client, file FROM $table WHERE file LIKE '%$motclef[$nbre_mots]%' ");
  • while ($row_client = mysql_fetch_array($query_client)) {
  • echo 'Trouvé dans le champ Client';
  • echo '<br>';
  • echo 'client:';
  • echo '<br>';
  • printf ("%s", $row_client[0]);
  • echo '<br>';
  • echo 'lien:';
  • echo '<br>';
  • printf ("%s", $row_client[1]);
  • }
  • while ($row_file = mysql_fetch_array($query_file)) {
  • echo 'Trouvé dans le champ Lien';
  • echo '<br>';
  • echo 'client:';
  • echo '<br>';
  • printf ("%s", $row_file[0]);
  • echo '<br>';
  • echo 'lien:';
  • echo '<br>';
  • printf ("%s", $row_file[1]);
  • }
  • }
  • $nbre_mots++;
  • }
  • ?>
Fichier config.php
----------------------
<?
// Paramètres de connexion à la base de données
$host = "localhost";              // Host de la base de données
$user = "user";                    // Login
$pass = "pwd";                    // Mot de passe
$bdd = "bdd";                      // Nom de la base de données
$table = "doc_clients";        // Nom de la table principale
$url = "http://lifeforce.int.xxxx.fr/stc/stcdoc/doc_clients/specificit_clients/"; // Répertoire contenant les différentes fiches
?>
----------------------
Fichier recherche.php
---------------------------

<script language="JavaScript">
<!--
function rechercher() {
 document.form_recherche.submit();
}
-->
</script>

<form name="form_recherche" method="post" action="<? echo $URL; ?>">
<input type="text" name="recherche" size="40" maxlength="100">
<input name="Submit" type="button" value="Rechercher" onclick="rechercher()">
</form>
<?
require 'includes/config.php';

// Connexion à la base de données
@mysql_connect($host,$user,$pass)
   or die("Impossible de se connecter à la base de données");
@mysql_select_db("$bdd")
   or die("Impossible de se connecter à la base de données");

// Variables
$recherche = strtolower($recherche);
$motclef = explode(" ",$recherche);
$nbre_mots = 0;

// Requête pour la recherche
while ($nbre_mots < sizeof($motclef)) {
 if (strlen($motclef[$nbre_mots]) > 2) {
  $query_client = mysql_query ("SELECT client, file FROM $table WHERE client LIKE '%$motclef[$nbre_mots]%' ");
  $query_file = mysql_query ("SELECT client, file FROM $table WHERE file LIKE '%$motclef[$nbre_mots]%' ");
  while ($row_client = mysql_fetch_array($query_client)) {
  echo 'Trouvé dans le champ Client';
  echo '<br>';
  echo 'client:';
  echo '<br>'; 
  printf ("%s", $row_client[0]);
  echo '<br>';
  echo 'lien:';
  echo '<br>';
  printf ("%s", $row_client[1]);
  }
  while ($row_file = mysql_fetch_array($query_file)) {
  echo 'Trouvé dans le champ Lien';
  echo '<br>';
  echo 'client:';
  echo '<br>';
  printf ("%s", $row_file[0]);
  echo '<br>';
  echo 'lien:';
  echo '<br>';
  printf ("%s", $row_file[1]);
  }
 }
 $nbre_mots++;
}
?>



 Historique

20 mars 2005 19:16:29 :
ras
30 novembre 2005 06:20:48 :
Mise à jour de mots clés. Rien sur la source.

 Sources du même auteur

Source avec Zip Source avec une capture LISTER LES IMAGES D'UN RÉPERTOIRE

 Sources de la même categorie

Source avec Zip EXTEND MYSQLI par petibras
Source avec Zip CLASSE DE COMMANDES PEAR DB par pascalmintrosse
Source avec Zip AFFICHER LE RÉSULTAT D'UNE REQUÊTE SQL SUR PLUSIEURS PAGE par karimmass
Source avec Zip SQLDIFF : MIGRATION, VERSIONNING ET SYNCHRONISATION DE LA ST... par aKheNathOn
Source avec Zip RÉSEAU AMICAL par Fidji56

 Sources en rapport avec celle ci

Source avec Zip GESTION_ENSEIGNANTS par Elmarzougui
SONDAGE - VOTE - POLL (AVEC MYSQL) par hornet_bzz
Source avec Zip PRELOAD IMAGES AVEC IMAGE LOADER ET MISE EN CACHE JAVASCRIPT par mitchlmx
Source avec Zip Source avec une capture ORGANIGRAMME PHP DYNAMIQUE par megatom
COMPTEUR DE VISITEUR : PHP ET MYSQL par didguess

Commentaires et avis

Commentaire de AsselusBorealiss le 22/08/2005 00:16:50

Salut HaryOu

je suis debutant en php
et je voudrais savoir si il y avait possibilite une fois que la recherche a ete faite qu'il pointe directement dans la page et sur le mot trouver

Merci

Assel

Commentaire de S4RuM4N le 27/08/2006 11:14:45

Pas top :
- Pas de possibilité d'utiliser des structures de table dynamiques
- Pas de structure de recehrche avancée comme +texte -texte "phrase a trouver"
- Plusieurs echo, utilisation de printf
- mysql_fetch_array alors que mysql_fetch_row() suffirait
- Utilisation de variables directement dans un texte entre " " ( utiliser la concatenation avec ' ' )

pas mal de choses a ameliorer, meme si ca date d'un an

Commentaire de younes371 le 27/09/2006 11:46:59

S4RuM4N , peux tu mettre ici l'ameliration du code possible
Merci

Commentaire de marc660 le 10/07/2007 10:44:37

Bonjour,

Je ne comprend pas a quoi ça sert $url et  require 'includes/config.php et puis cette source ne marche pas.


@+

Commentaire de AsselusBorealiss le 10/07/2007 22:48:59

Salut marc660
waooowww 2005 je me souviens plus pourquoi j'avais pose une question
sinon marc la page config.php c'est juste la page qui pointe avec les login passW
a+

Commentaire de Antoine59840 le 10/11/2007 17:01:34 2/10

Salut,
Ton script ne marche pas sur free
C'est domage :s

Commentaire de Downlo le 08/08/2008 15:42:41

Bon, on va me dire que je suis de la vieille école, mais je ne trouve pas l'usage du javascript très pertinent dans ce cas. Pourquoi ne pas avoir tout simplement utilisé un <input type="submit"> ? Chez tous les clients où le JS est désactivé, le formulaire ne sera tout simplement pas envoyé.
Bon, ensuite, niveau sécurité, même si ce n'est pas le but de la source, c'est pas top. Le maxlength est laissé à la discrétion du navigateur, il ne faut jamais l'oublier, c'est-à-dire que n'importe qui peut injecter n'importe quoi par les en-têtes http. Et encore... L'absence de $_POST indique que les variables globales sont activées, ce qui est un risque énorme niveau sécurité :s il suffit d'appeler [url]?recherche=[...] à répétition pour saturer MySQL. (C'est d'ailleurs à cause de l'usage de ces variables globales que ce script ne marche pas chez Free, comme chez la plupart des hébergeurs sans doute.) Il aurait pourtant suffit de vérifier la longueur de la chaîne reçue pour éviter ce genre d'attaque.
Bon, quant aux mini-tags <? , je pense qu'il est inutile que je me prononce. C'est très mauvais pour la portabilité (Arf, je l'ai dit quand même -_-' ).
Ha, oui, aussi (promis, après j'arrête), les die servent également au debug, il serait donc intéressant de ne pas mettre deux fois le même message, ou d'y intégrer l'erreur renvoyée par MySQL...

Bon, je me rends bien compte que tout ce que je viens de dire ne faisait pas partie du but premier de ce script. Mais c'est aussi pour répondre à "ça marche paaaaaaas" ^^ et pour éviter que les débutants ne l'intègrent tel quel dans leurs projets.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

php & mysql [ par chako ] Salut, je suis entrain de développer une page web qui permet de la recherche dans la base de donnée à l'aide de php &amp; mysql et j'utilise wamp5_1.7 easy php et mysql query [ par abdouinfomiage ] bonjour,bon voila j ai installé le service de gestion de base de données mysql :mysql query,maysql admnistratormais quand j ai installer easyphp j arr créer moteur de recherche php / mysql (besoin d'aide) [ par witch32 ] bonjour!alors voilà, je dois créer un moteur de recherches de partition pour un site, mais je ne sais pas trop comment m'y prendre...les champs de rec Recherche Développeur PHP/MySQL et/ou graphiste web/flash [ par JPKalham ] Bonjour,http://www.moupo.com Description du projet : Moupo vous offre le meilleur du Web. Accédez aux informations essentielles du Cinema, Séries Télé Coordonnées Souris [ par la_main_sur_le_katana ] Bonjour,je suis actuellement en stage et je dois créer une apllication en PHP/MYSQL dans laquelle des images stockées dans la base de données seront a Recherche programmeur PHP/MySql pour jeux en ligne - Rémunéré. [ par PPCompany ] Notre société est acutellement à la recherche de programmeur PHP/MySql afin de coder des jeux en ligne.Voici un exemple de jeu que nous possédons actu Image / MySQL / php [ par hazkaal ] Bonjour !Je bosse sur un site et j'ai un probleme au niveau de laffichage d'images...Je m'explique :L'utilisateur upload une image. Cette image est st moniteur de recherche en php et mysql [ par tadjidine ] Bonjour à tous;je suis entrain de developpé un application gestion d'un agenda, je besoin de votre aide pour la formulaire de recherche , en faite ma se connecter à une base sql [ par matsumato ] bonjour; j'ai essayé de me connecter à ma base de donnée et afficher le champ ename dans ma table employer et j'ai l'erreur suivant : Warning: mysql_ Programme php pour transferer des donnees format Dbf dans une base de données format Mysql [ par Eljildius ] Salutation a tous !Je travail actuellement sur une application en php qui à un moment données devrat transférer des données format bdf dans une base d


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales