Recherche dans une BDD externe

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Recherche dans une BDD externe

    Bonjour à tous, je suis entrain de créer un site web et j'aimerais insérer un annuaire de recherche, je vous explique :
    -Un utilisateur devrait pouvoir saisir par exemple un nom et si ce nom est dans la table afficher par la suite les infos
    J'ai un script mais il n'a pas l'air de fonctionner. Ma BDD est sous MySQL, ma base s'appelle annuaire et ma table de recherche u557.

    voici mon bout de code :

    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('annuaire');
    //On determine l'expression a rechercher
    if(isset($_GET['recherche']))
    {
    $rec = htmlentities($_GET['recherche']);
    }
    else
    {
    $rec = 'php MYSQL';
    }
    //On determine le type de recherche
    if(isset($_GET['type']))
    {
    if($_GET['type']=='un')//Un des mots
    {
    $type = 1;
    }
    elseif($_GET['type']=='tout')//Tout les mots
    {
    $type = 2;
    }
    else//L'expression exacte
    {
    $type = 3;
    }
    }
    else
    {
    $type = 1;//type par defaut: L'expression exacte
    }
    //On determine si on doit surligner les mots dans les resultats
    if(!isset($_GET['surligner']) or $_GET['surligner']!='true')
    {
    $surligner = false;
    }
    else
    {
    $surligner = true;
    }
    //On dertermine les identifiants, les noms et les informations des utilisateur
    $req = 'SELECT Nom, Prenom FROM u557 WHERE ';
    if($type==1)
    {//ayant un des mots dans leurs informations
    $mots = explode(' ',$rec);//En separre lexpression en mots cles
    foreach($mots as $mot)
    {
    $req .= ' infos LIKE "%'.$mot.'%" OR';
    }
    $req .= ' 1=0';
    }
    elseif($type==2)
    {//ayant tout des mots dans leurs informations
    $mots = explode(' ',$rec);//En separre lexpression en mots cles
    foreach($mots as $mot)
    {
    $req .= ' infos LIKE "%'.$mot.'%" AND';
    }
    $req .= ' 1=1';
    }
    else
    {//ayant l'expression exacte dans leurs informations
    $req .= 'infos LIKE "%'.$rec.'%"';
    }
    //Les utilisateur seront ranges par identifiant en ordre croissant
    $req .= ' order by id asc';
    $requete = mysql_query($req);
    //Le formulaire de recherche
    ?>
    <form action="" method="get">
    Expression &agrave; rechercher: <input type="text" name="recherche" value="<?php echo $rec; ?>" /><br />
    Type de recherche: <input type="radio" name="type" value="un"<?php if($type==1){echo 'checked="checked"';} ?> /> Un des mots <input type="radio" name="type" value="tout"<?php if($type==2){echo 'checked="checked"';} ?> /> Tout les mots <input type="radio" name="type" value="exacte"<?php if($type==3){echo 'checked="checked"';} ?> /> Expression exacte<br />
    Mettre en gras les mots recherch&eacute;s: <input type="checkbox" name="surligner" value="true" <?php if($surligner){echo 'checked="checked"';} ?> /><br />
    <input type="submit" value="Rechercher" />
    </form>
    <h2>R&eacute;sultats</h2>
    <table>
    <tr>
    <th>Identifiant</th>
    <th>Nom</th>
    <th>Informations</th>
    </tr>
    <?php
    //On affiche les resultats
    while($dnn = mysql_fetch_array($requete))
    {
    ?>
    <tr>
    <td><?php echo $dnn['Nom']; ?></td>
    <td><?php echo $dnn['Prenom']; ?></td>
    <td><?php
    if($surligner)//Si il faut surligner les mots, on les surligne
    {
    if($type==3)
    {
    echo preg_replace('#('.preg_quote($rec).')#i', '<strong>$1</strong>', $dnn['infos']);//On surligne l'expression exacte
    }
    else
    {
    echo preg_replace('#('.str_replace(' ','|',preg_quote($rec)).')#i', '<strong>$1</strong>', $dnn['infos']);//On surligne les mots cles de la recherche
    }
    }
    else
    {
    echo $dnn['infos'];//On ne surligne pas
    }
    ?></td>
    </tr>
    <?php
    }
    ?>
    </table>
    Dernière édition par redshark59 à 09/04/2014, 09h40

  • #2
    Re : Recherche dans une BDD externe

    Ici tu es sur un forum joomla pas php... http://www.php.net/manual/fr/
    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : Recherche dans une BDD externe

      ça n'empeche pas que quelqu'un puisse m'aider je crois.

      Commentaire


      • #4
        Re : Recherche dans une BDD externe

        oui, cela n'empêche pas mais j'en doute...
        Christophe
        http://www.webcrea.fr

        Commentaire


        • #5
          Re : Recherche dans une BDD externe

          Salut,
          tout à fait d'accord avec Webcrea.

          De plus une recherche sur le JED :
          Search - Joomla! Extensions Directory
          Find extensions for your Joomla site in the Joomla Extensions Directory, the official directory for Joomla components, modules and plugins.


          produit de genre de résultat :

          PraiseQuery - Joomla! Extensions Directory


          Je n'ai jamais utilisé cette extension mais cela peut te guider pour explorer l'API joomla.
          Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X