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

PHP & Base de données Discussion :

Afficher les entrées d'une table qui contient un mot précis [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Afficher les entrées d'une table qui contient un mot précis
    Bonjour,

    je suis un débutant et j'aurais besoin d'aide pour un script pas trop compliqué..

    voici ce que je souhaite faire:

    - 1 page HTML avec un formulaire (zone de texte + boutton envoyer)
    - 1 page PHP qui va chercher dans une table de la Base de Données et afficher SEULEMENT les entrées qui CONTIENNENT le mot entré dans le formulaire précédent

    je serais infiniment reconnaissant si quelqu'un pouvais m'aider à faire sa

    merci!

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    pagehtml.html :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" action="pagephp.php">
       <input type="textarea" name="texte">
       <input type="submit" name="Envoyer" value="Envoyer">
    </form>

    pagephp.php :
    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
     
    if(isset($_POST['texte']))
    {
       mysql_connect(...);
       mysql_select_db(...);
     
       $var = $_POST['texte'];
       $query = "SELECT entrées FROM ma_table WHERE entrées='$var'";
       $result = mysql_query($query);
     
       while($row = mysql_fetch_object($result))
       {
          $var = $row->entrées;
     
          echo "$var<br>";
       }
    }
    else
       echo "Pas de $_POST à récupérer";
    Voilà, je n'ai pas tester le code mais je pense qu'il ne devrait pas y avoir d'erreur.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    A la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT entrées FROM ma_table WHERE entrées='$var'";
    je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT entrées FROM ma_table WHERE entrées LIKE '%$var%'";
    si le mot recherché se trouve dans des phrases.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Points : 68
    Points
    68
    Par défaut
    Oui exact, tout dépend de ce qu'il veut faire.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Points : 62
    Points
    62
    Par défaut
    Perso je ferais une seule page avec utilisation de la fonction isset de php...

    Moins ya de pages meiux c'est !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Merci infiniment à vous deux!!! Ce forum est magnifique.... et en plus, c'est en francais!!!

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    j'obtiens cet erreur:

    Warning: mysql_connect(): Access denied for user 'anarchoi1'@'localhost' (using password: NO) in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 5

    Warning: mysql_select_db(): Access denied for user 'anarchoi1'@'localhost' (using password: NO) in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 6

    Warning: mysql_select_db(): A link to the server could not be established in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 6

    Warning: mysql_query(): Access denied for user 'anarchoi1'@'localhost' (using password: NO) in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 10

    Warning: mysql_query(): A link to the server could not be established in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 10

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/anarchoi1/domains/resistance.tk/public_html/forums/pagephp.php on line 12

    ma config dans le fichier php est:
    mysql_connect(localhost);
    mysql_select_db(anarchoi1_vb);


    où dois-je entrer mon mot de passe?

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Dans les paramètres de la fonction mysql_connect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_connect('hôte', 'utilisateur', 'mot_de_passe');
    comme indiqué dans la documentation : mysql_connect.


  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    oups, merci bcp!

    comment je fais pour ajouter automatiquement des %% au debut et à la fin du mot à rechercher??

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $var = 'toto';
     
    if ($var[0] != '%') {
        $var = '%' . $var;
    }
    if ($var[strlen($var) - 1] != '%') {
        $var .= '%';
    }
    echo $var;
    (non testé)

    Si vous autorisez les caractères jokers dans votre champ de recherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var = '*to*to';
    $var = str_replace('*', '%', $var);

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    merci,

    encore une dernière question: avec ce code, comment puis-je afficher le nombre de résultats trouvés dans pagephp.php?

    merci!

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Après mysql_query utiliser la fonction mysql_num_rows sur le résultat de cette dernière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = mysql_query('SELECT ... ') or die(mysql_error());
    $nbRes = mysql_num_rows($query);
    if ($nbRes > 0) {
        echo "Il y a $nbRes résultats à votre recherche";
    } else {
        echo "Cet élément n'a pas été trouvé";
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/03/2013, 20h39
  2. Réponses: 2
    Dernier message: 03/11/2009, 10h12
  3. Réponses: 10
    Dernier message: 18/06/2009, 13h27
  4. [MySQL] Question simple: afficher tous les entrées d'une table en liens
    Par anarchoi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/04/2007, 12h04
  5. afficher les chomp d'une table
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/10/2005, 10h10

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