TourDeJeu, le portail des jeux en ligne alternatifs, les articles 
TourDeJeu, le réseau des jeux en ligne alternatifs : jeux web multijoueurs, jeux par forum. En savoir +
En ligne : 490 jeux, 7155 news, 26679 commentaires
 

Recherche de jeu par critères - Un jeu au hasard !

Les Focus

Tech. : Le programmeur écologique
Tech. : automatisation et mails
Salon MondeDuJeu 2002
Revue de presse des JpC
Humour : 1001 raisons pour jouer
Ludique : le joueur parfait
Ludique : découverte du JpC
PHP : accès base de données
PHP : structure du site
Ludique : JpC et Temps réel
Jeux de rôles sans règles
Humour : astrologie du JpC
Tech. : Bases de données
MJ : les joueurs multiples
PHP : utilité pour un JpC
PHP : c'est quoi ?
Tech. : l'analyse des ordres
Ludique : débutants et vétérans
Tech. : archi Ultraball 2100
Ludique : les jeux de pronos
Tech. : le site Web d'un JpC
Humour : football et wargame
Présentation de TourDeJeu

Accès la base de données MySQL pour son jeu PHP

Connexion et lecture

Dans le zip de la version précédente, il existait déjà une page qui lisait la base de données : la liste des joueurs (admin/listejoueur.php). Je n'avais rien détaillé dans l'article et je vais le faire maintenant.

Le principe de ces accès est assez simple. On suit les étapes suivantes :

  • Connexion à la base de données (toujours le même code, donc on réutilise un même source en include dans toutes les pages),

    $gmySQLID = mysql_connect("sql.mondomaine.net", "mondblogin","mondbpass");
    mysql_select_db("madb",$gmySQLID);


  • Envoi de la requête SQL à la base par la fonction mysql_query(). La requête est une chaine de caractères du type "SELECT colonnes FROM tables WHERE conditions". Je vous renvois à un Focus précédent pour plus de détails sur la syntaxe de la requête.

    $req = mysql_query("SELECT id, nom, motdepasse, dateinscr, email, datesession, nbsession FROM fish_joueur order by id");

  • Boucle de lecture des résultats. La base nous renvoie une liste de lignes de la table. Il faut les lire une par une, en appelant la fonction mysql_fetch_array() à l'intérieur d'une boucle while. Quand il n'y aura plus de lignes dans la liste, la fonction renverra une valeur false qui fera sortir de la boucle.

    while ($myrow = mysql_fetch_array($req)) {


    Pour chaque ligne, on récupère alors les valeurs des colonnes demandées dans le tableau fourni par mysql_fetch_array. L'indice à utiliser est soit le numéro de la colonne dans l'ordre de la requête, soit le nom de la colonne (c'est plus parlant et moins sujet à erreur quand on ajoutera ou supprimera une colonne dans la requête).

    echo "<tr><td>".$myrow["id"]."</td>";
    echo "<td>".$myrow["nom"]."</td>";
    echo "<td>".$myrow["motdepasse"]."</td>";
    echo "<td>".$myrow["dateinscr"]."</td>";
    echo "<td>".$myrow["email"]."</td>";
    echo "<td>".$myrow["datesession"]."</td>";
    echo "<td>".$myrow["nbsession"]."</td></tr>";
    }
  • C'est tout ! la connexion sera fermée automatiquement par PHP à la fin de la page. On peut passer plusieurs requêtes à la suite, bien sûr, sans avoir à se reconnecter à chaque fois !

On crée sur le même modèle que la liste des joueurs, la liste des rivières, dans admin/listeriviere.php. Dans cette table, on ne trouve que 2 colonnes : l'identifiant (auto-incrémenté) et le nom. On verra la composition de la rivière en tronçons plus tard.

Retour au sommaire de l'article 

(c) TourDeJeu 2000-2020