begin process at 2012 02 12 06:12:23
  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 :23 481

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 RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

 Sources en rapport avec celle ci

Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
RECHERCHE PAR MOT CLÉ DANS TOUS LES CHAMPS DE TOUTES LES TAB... par gabay
Source avec Zip GESTION_ENSEIGNANTS par Elmarzougui

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 Probleme d'enregistement fichier a la base Mysql avec php (sans formulaire) [ par miadana84 ] Bonjour à Tous [^^happy13] J'ai bien cherché sur les forums et le net, mais je ne trouve pas de réelle solution à mon problème et je ne sais même pas php/mysql [ par AZIRIAZIZ ] bonjour et merci pour de bien voiloir m aider $DB_BASE = 'mabase'; $DB_LOGIN = 'MonLogin'; $DB_PASSE = 'passe'; $DB_SERVEUR = 'localhost'; que dois je nclusion php, htaccess et sécurité [ par armelkoudou ] Bonjour frere et soeur je viens solliciter votre aide. j'utilise heberger gratuit php mysql umbreon pour tester mes page web et donc je suis confr Recherche développeur petit projet PHP/MySQL [ par xema ] Bonjour, Je suis à la recherche d'un développeur pouvant créer un formulaire PHP simple de saisie d'heures de travail par les employés d'une entrepri PHP et MySQL [ par casper77610 ] Bonsoir à tous, Ceci est ma première question sur ce forum. J'espère que je serais explicite dans la formulation. Voila je cherche faire une page we Backup Base de données [ par sidalilo ] bonjour j'ai une application de gestion developpée en php et la base de données en mysql dans xp et je veux faire un backup automatique de cette base Erreur connexion base de données PHPMyAdmin !! [ par kennysp ] Bonjour, Petit problème technique en PHP. Précision : je suis amateur voire très amateur. Pour la première fois, je me lance dans la création d'une b afficher des fichiers et images de ma base de donnés [ par msi079 ] salut j'ai des fichiers ou image dans ma base de donnée que je veux afficher à l'aide d'une requête php mais j'arrive pas. je vous redonne mes différe MYSQL HEBERGEUR [ par lorenzobrussels ] Bonjour à tous. Je suis néophyte, je débute en PHP + MYQSQL J'ai trouvé un hébergeur gratuit (Olympe Newtork) pour executer du PHP et MYSQL. Malheur


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,480 sec (3)

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