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 :

Récuperation des données d'une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut Récuperation des données d'une table
    Bonjour,

    Voila, j'ai une table "cnrs" qui comprend 4 attributs: num, nom, prénom et âge. J'ai voulu récupérer toutes ces données dans un tableau mais lors de l'exécution, seules les valeurs de la colonne "num" apparaissent.

    Voici la capture d'écran du résultat :



    et 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
    30
    31
    32
    33
    34
    35
    36
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title></title>
        </head>
        <body>
            <?php
    $idcom=mysql_connect("localhost","root");
    if(!$idcom){echo "non";}else {echo "oui";}
    echo $idcom."</br>";
    $idbase = mysql_select_db("personnelle",$idcom);
    $requete="SELECT * FROM cnrs ORDER BY nom";
    $result=mysql_query($requete,$idcom);
    echo $result;
    if(!$result){
        echo "Lecture impossible";
    }else{
        $nbcol=mysql_num_fields($result);
        $nbpersonne=mysql_num_rows($result);
        echo "<h3> LE PERSONNEL DU CNRS</h3>";
        echo "<h4> Il y a $nbpersonne personnes au CNRS </h4>";
        echo "<table border=\"1\"><tbody>";
        echo "<tr><th>num</th> <th>nom</th> <th>prenom</th><th>age</th></tr>";
        while($ligne=mysql_fetch_array($result,MYSQL_NUM)){
              echo "<tr>";
              foreach($ligne as $valeur);{
                echo "<td> $valeur </td>";
              }
                echo "</tr>";
        }
        echo "</tbody></table>";
    }
    ?>
        </body>
    </html>

  2. #2
    Membre expérimenté

    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 130
    Par défaut
    Salut !

    essaie comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while($ligne=mysql_fetch_array($result,MYSQL_NUM)){
              echo "<tr>";
              echo "<td>$ligne['num']</td>";
              echo "<td>$ligne['nom']</td>";
              echo "<td>$ligne['prenom']</td>";
              echo "<td>$ligne['age']</td>";
              echo "</tr>";
    }

    Je me suis peut être planté niveau concatenation

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut
    great Ritter Jack



    il fallait juste concaténer de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while($ligne=mysql_fetch_array($result)){
              echo "<tr>";
              echo "<td>".$ligne["num"]."</td>";
              echo "<td>".$ligne["nom"]."</td>";
              echo "<td>".$ligne["prenom"]."</td>";
              echo "<td>".$ligne["age"]."</td>";
              echo "</tr>";
    }
    comme tu peux le constater en observant le tableau, les "num" n'ont pas été attribué par PHPMyadmin mais c'est moi qui les lui a soumis.
    Ce que je cherche à faire maintenant est que la personne de la première ligne ait le numero 1, celle de seconde, le numero 2 et ainsi de suite au fur et à mesure des INSERT. Est-ce qu'une telle opération est possible si j'attribue le rôle "clé primaire" à "num" ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut
    Bon, j'ai créé une autre table en prenant soin cette fois-ci de cocher la case AUTO-INCREMENT et en donnant au "nom" le rôle de clé primaire.

    Lors d'une première insertion dans PHPMyAdmin, l'incrémentation s'est faite automatiquement (il suffisait simplement de ne pas remplir de champ valeur de "num")

    Voici le résultat:



    Maintenant, en voulant insérer à partir du code PHP, ça marche mais les insertions apparaissent en haut du tableau et pas à la suite?


  5. #5
    Membre expérimenté

    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 130
    Par défaut
    Salut,

    Met le num en Auto_increment, met le en clé Primaire le num pas le nom

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut
    ah excuse-moi, c'était une erreur de frappe, j'avais bien mis le num en clé primaire et non le nom !!!

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut
    j'ai compris pourquoi les lignes n'étaient pas triées par ordre croissant de "num", c'était parce qu'il y avait un ORDER BY nom en le modifiant par ORDER BY num, on arrive à ça:




  8. #8
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Ta table doit être bizarrement crée, pour ne pas trier automatiquement sur la clé par défaut. Tu aurais le code de création ?

    EDIT: non j'avais pas vu que tu faisais un order by nom avant. Mais sans order, tu devrais arriver au même résultat

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut


    Mais sans order, tu devrais arriver au même résultat
    dans la base, le tri était effectué, mais pas dans l'affichage dans une page web à cause du "order by nom". Là, j'ai retiré tout les ORDER et le tri est nickel !! donc ça va, le PHPMyadmin n'a pas encore perdu la boule

    Tu aurais le code de création ?
    je dois cliquer où pour le trouver?

  10. #10
    Membre expérimenté

    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 130
    Par défaut
    Tu peux le trouver dans l'onglet Exporter dans l'onglet de PHPmyadmin

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Par défaut
    merci pour l'astuce et pour les réponses

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

Discussions similaires

  1. TRansférer des données d'une table à l'autre
    Par kernel57 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 06/10/2005, 14h05
  2. Réponses: 2
    Dernier message: 15/06/2005, 17h32
  3. SQL - Traiter des données d'une table
    Par david71 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/02/2005, 16h47
  4. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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