IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction recherche php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Par défaut fonction recherche php
    Bonjour,

    j'essaie de faire une fonction de recherche pour mon site web mais cela marche que lorsque je met une valeur dans le champ imput .

    c'est a dire que si je recherche julien cela vas m afficher tout les client se noment julien mais si je table pascal cela ne m'affiche rien .

    j'aimerais que cela m'affiche un message du genre : client on existant .

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
                <?php
     
     
     
     
                if(!empty ($_POST['q'])){
     
                    $q= $_POST['q'];  
                    $sql="SELECT * FROM clients WHERE nom LIKE '$q' ";
                    $req=mysql_query($sql) or die ( mysql_error());
                    while($d=mysql_fetch_assoc($req)){
     
                        echo "<h1>{$d["nom"]}</h1>";
                        echo "<p>{$d["prenom"]}</p>";
                        echo "<p>{$d["id_client"]}</p>";
                        echo $q ;
    }
     
     
    }else {
     
     
        echo "pas de recherche";
    }
     
     
     
     
                ?>

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    teste si la requête retourne des résultats et si il y en n'a pas, affiche un message :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $sql="SELECT * FROM clients WHERE nom LIKE '$q' ";
    $req=mysql_query($sql) or die ( mysql_error());
    $nb_results = mysql_num_rows($req);
     
    if($nb_results != 0){
        while($d=mysql_fetch_assoc($req)){
     
        echo "<h1>{$d["nom"]}</h1>";
        echo "<p>{$d["prenom"]}</p>";
        echo "<p>{$d["id_client"]}</p>";
         echo $q ;
        }
    }
    else{ echo 'la recherche n\'a retourné aucun résultat'; }

  3. #3
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Bonsoir,

    Une petite remarque sur les méthode mysql :
    Citation Envoyé par php.net
    Cette extension est obsolète depuis PHP 5.5.0 et n'est pas recommandée pour écrire vos nouvelles lignes de code, sachant qu'elle sera supprimée dans un futur proche.
    Je te conseil donc de les remplacer par les méthode mysqli.

    De plus je te conseil fortement de te protéger de l'injection SQL en utilisant les requête préparé ou en utilisant une fonction d'echapement de caractère (mysqli_real_escape_string()).

    Sinon la méthode fournis par N1bus est effectivement la plus simple

  4. #4
    Invité
    Invité(e)
    Par défaut
    On est en 2013, utilise PDO

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par walane Voir le message
    On est en 2013, utilise PDO
    Il va de sois que c'est actuellement le meilleur driver vers SQL !
    En plus ces "prepare" sont simple a mettre en place et c'est orienté objet !

    bref la rolls

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Oui, mais passer de "mysql_" à "mysqli_" (procédural) est très simple : passer de "mysql_" à "mysqli_".

Discussions similaires

  1. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21
  2. [PHP-JS] Mise en place d'une fonction recherche
    Par barbapapa2 dans le forum Langage
    Réponses: 6
    Dernier message: 02/12/2006, 19h03
  3. [fonction] recherche de methode inutilisée
    Par frouge dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/03/2005, 13h37
  4. fonction Recherche
    Par pingoui dans le forum Débuter avec Java
    Réponses: 16
    Dernier message: 31/08/2004, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo