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 :

[Tableaux] Affichage des données d'une table MySql sous forme d'un tableau php


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 16
    Points
    16
    Par défaut [Tableaux] Affichage des données d'une table MySql sous forme d'un tableau php
    Bonjour je cherche un script permettant de convertir les données d'une table MySql en un tableau multidimensionnel avec php. Aprés aviir cherché je suis arrivé à ceci un script affichant à l'aide d'un tableau indexé les données avec une boucle for. Le pourquoi de cette structure plutôt qu'avec while est de pouvoir comparer les valeurs de deux lignes entre elles et d'afficher les diverses valeurs d'une même ligne. J'ignore si list() et each(), peut être car plus adaptés pour des tbleaux à deux variables permettent cela.

    Voici la table sous MySql

    ################################################
    Catégorie nom page url de la page
    ################################################
    Cat A pg1.html emplacement1
    Cat A pg2.html emplacement2
    Cat A pg3.html emplacement3
    Cat A pg4.html emplacement4
    Cat B pg5.html emplacement5
    Cat B pg6.html emplacement6
    Cat B pg7.html emplacement7
    ################################################

    Voici le script que j'ai établi

    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
    <?
    $link = mysql_connect("serveur","nom_db","passwd") or die ("Impossible de se connecter");
    mysql_select_db ("nom_db") or die ("Impossible d'accéder à la base de données");
    $query="SELECT * FROM table ORDER BY Catégorie";
    $result=mysql_query($query);
    $val=mysql_fetch_array($result);
    $nblignes=mysql_num_rows($result);
    for ($i=0; $i<$nblignes; $i++) {
    echo "<a href=$val["url de la page"][i]>";
    echo $val["nom page"][i];
    echo "</a>";
    echo "<br>";
    }
    mysql_free_result($result);
    mysql_close($link);
    ?>
    Le problème est qu'avec ce script j'obtiens bien les enregistrements mais je n'ai que la première lettre de chacun d'eux!! comme ceci:

    p
    p
    p
    p
    p
    p
    p

    Pouvez vous me dire s'il y a une erreur dans mon script laquelle cela peut-il être, si le script n'est pas adapté à ma situation et alors s'il y en a un plus adéquat? Merci d'avance de votre aide.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Points : 1 655
    Points
    1 655
    Par défaut
    Je pense que tu y gagnerai à utiliser la bibliothèque MDB2 (PEAR).

    Il existe un bon article sur developpez sur cette bibliothèque à l'adresse suivante : http://hugo.developpez.com/tutoriels/php/pear/mdb2/

    Sinon l'adresse de la bibliothèque est http://pear.php.net/manual/fr/package.database.mdb2.php
    Il y a de nombreux exemples à cette adresse dans la documentation.

    Par contre dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<a href=$val["url de la page"][i]>";
    echo $val["nom page"][i];
    Essai avec $i au lieu de i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<a href=$val["url de la page"][$i]>";
    echo $val["nom page"][$i];

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Je ne sais pas si tu le sais mais là tu récupères que le premier résultat de ta requêtes SQL : $val=mysql_fetch_array($result);.

    Il faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($val=mysql_fetch_array($result))
    {
      echo '<a href='.$val['url de la page'][$i].'>'.$val['nom page'][$i].'</a><br />';
    }
    Par contre, à quoi correspond url de la page ici $val['url de la page'][$i] ?

Discussions similaires

  1. Affichage des données d'une table MySQL dans un ListView selon l'id
    Par loviso dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 30/07/2012, 16h28
  2. affichage des données d'une table mysql
    Par chrisl0 dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2009, 18h21
  3. [MySQL] Problème avec affichage des données d'une base MySQL
    Par leclone dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/12/2006, 12h40
  4. [Tableaux] affichage des données d'une base
    Par Nickwell dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2006, 17h14
  5. Réponses: 11
    Dernier message: 25/07/2006, 21h46

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