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 :

Recherche dans BDD avec php


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Recherche dans BDD avec php
    Bonjour à tous ,

    je suis en train de m'entraîner avec les BDD mais là je me tire les cheveux sur un truc tout con je suppose !

    donc j'ai créer ma BDD comme ceci :



    J'arrive à afficher dans un tableau la table joueur avec le code ci joint :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <html>
     
    <title>stats</title>
     
    <body>
     
    <?php
    error_reporting(E_ALL ^ E_DEPRECATED);
     
    // information pour la connection à le DB
     
    $host = 'localhost';
     
    $user = 'root';
     
    $pass = '';
     
    $db = 'warface';
     
     
    // connection à la DB
     
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
     
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
     
    //récupère tous les enregistrements
     
    $select = 'SELECT Nom,Grade,Clan,Ratio,Kills FROM joueurs';
     
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
     
    $total = mysql_num_rows($result);
     
     
     
    // si on a récupéré un résultat on l'affiche.
     
    if($total) {
     
        // debut du tableau
     
        echo '<table bgcolor="#FFFFFF">'."\n";
     
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
     
            echo '<tr>';
     
            echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
     
            echo '<td bgcolor="#669999"><b><u>Grade</u></b></td>';
     
          echo '<td bgcolor="#669999"><b><u>Clan</u></b></td>';
     
            echo '<td bgcolor="#669999"><b><u>Ratio</u></b></td>';
     
          echo '<td bgcolor="#669999"><b><u>Kills</u></b></td>' ;
     
          echo '</tr>'."\n";
     
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
     
        while($row = mysql_fetch_array($result)) {
     
            echo '<tr>';
     
            echo '<td bgcolor="#CCCCCC">'.$row["Nom"].'</td>';
     
            echo '<td bgcolor="#CCCCCC">'.$row["Grade"].'</td>';
     
          echo '<td bgcolor="#CCCCCC">'.$row["Clan"].'</td>';
     
            echo '<td bgcolor="#CCCCCC">'.$row["Ratio"].'</td>';
     
          echo '<td bgcolor="#CCCCCC">'.$row["Kills"].'</td>';
     
          echo '</tr>'."\n";
     
        }
     
        echo '</table>'."\n";
     
        // fin du tableau.
     
    }
     
    else echo 'Pas d\'enregistrements dans cette table...';
     
     
    // on libère le résultat
     
    mysql_free_result($result);
     
     
    ?>
     
    </body>
     
    </html>
    Mais j'aimerai créer une page vierge avec juste un champ de recherche , par exemple , je tape le nom d'un joueur , je valide et juste ses stats apparaissent , est ce que cela est possible ? Si oui pourriez-vous m'aider dans mon calvaire ?

    Merci d'avance !
    Dernière modification par Invité ; 06/10/2014 à 23h51.

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'ai réussi à faire quelque chose !

    J'ai donc créer un fichier index.html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <form method="GET" action="recherche.php" >
    <input type="text" name="critere"><br />
    <input type="submit" value="Recherche">
    </form>
    et le fichier recherche.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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
     
    $host = "localhost";
     
    $user = "root";
     
    $password = "";
     
    $bdd = "warface";
     
    $connexion = @ mysql_connect($host, $user,$password) or exit("Impossible de se connecter !") ;
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
     
    $query = "SELECT Nom,Grade,Clan,Ratio,Kills FROM joueurs
    		WHERE Nom LIKE '%".$_GET['critere']."%'
    		or Clan LIKE '%".$_GET['critere']."%'";
     
     
    $result = mysql_query($query);
    if (mysql_num_rows($result) > 0) {
    	echo '<table>';
    	echo '<tr><th>Nom</th><th>Grade</th><th>Clan</th><th>Ratio</th><th>Kills</th></tr>';
    	while ($r = mysql_fetch_assoc($result)) {
    		echo '<tr>';
    		echo '<td>'.$r['Nom'].'</td>';
    		echo '<td>'.$r['Grade'].'</td>';
    		echo '<td>'.$r['Clan'].'</td>';
    		echo '<td>'.$r['Ratio'].'</td>';
    		echo '<td>'.$r['Kills'].'</td>';
    		echo '</tr>';
    	}
    	echo '</table>';
    } else {
    	echo "<p>Aucun enregitrement ne correspond</p>";
    }
     
    ?>
    Donc quand je rentre le nom d'un joueur ça s'affiche et quand je rentre le nom d'un clan tout les joueurs s'affiche ! Pensez-vous que le code est bon ou faut l'améliorer ?

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'extension mysql est obsolète mais au moins echappe tes valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = "SELECT Nom,Grade,Clan,Ratio,Kills FROM joueurs
    		WHERE Nom LIKE '%".mysql_real_escape_string($_GET['critere'])."%'
    		or Clan LIKE '%".mysql_real_escape_string($_GET['critere'])."%'";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci du conseil je vais voir demain pour passer tout ça en mysqli !

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Je te conseille d'utiliser PDO, non pas que PDO soit meilleur que mysqli, mais pour une raison très simple: tu trouveras beaucoup plus de documentation et de tutoriels sur PDO que sur mysqli.

Discussions similaires

  1. Inserer image dans excel avec PHP
    Par hamzito dans le forum Langage
    Réponses: 5
    Dernier message: 12/08/2011, 12h53
  2. [ODBC] connexion à differentes BDD avec php et ODBC
    Par tigunn dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/12/2009, 12h17
  3. [MySQL] problème ajout donnée dans BDD via php
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/05/2006, 23h41
  4. [VB6]Recherche dans Access avec un recordset (DAO)
    Par xdiethank dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/05/2006, 11h28
  5. barre de recherche dans les fonctions php pour firefox
    Par titoumimi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 03/02/2006, 10h16

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