Inserer données MySQL dans un tableau

Discussion dans 'Web, design' créé par Styleman, 24 Mars 2003.

Statut de la discussion:
Fermée.
  1. Offline
    Styleman Touriste
    Lu all,
    Voila, je suis un noob en php et je vient de reussir mon premier truc fait de mes mains, donc j'ai entré des données dans ma base MySQL par l'intermediaire d'un Formulaire!
    Voila maintenant mais données sont dans ma table.

    Maintenant, comment puis-je faire pour les mettre dans un tableau et organiser comme je veut, par exemple, j'aimerais mettre le nom au dessus, puis l'age dans une autre cellulle avec une image entre etc...

    Voila la structure de ma table :

    Code:
    CREATE TABLE infos_tbl (id INT (11) not null AUTO_INCREMENT, prenom VARCHAR (35) not null , age VARCHAR (11) null , email VARCHAR (70) not null , icq INT (20) null , location VARCHAR (90) null , pays VARCHAR (20) null , type VARCHAR (50) null , provider VARCHAR (20) null , processeur VARCHAR (30) null , ram VARCHAR (30) null , cg VARCHAR (20) null , son VARCHAR (20) null , souri VARCHAR (20) null , moniteur VARCHAR (20) null , favmap VARCHAR (90) null , favweap VARCHAR (90) null , os VARCHAR (20) null , reso VARCHAR (20) , sensi VARCHAR (20) null , PRIMARY KEY (id), INDEX (id), UNIQUE (id))
    Voila, si vous matter bien, c'est pour le site de mon clan, j'aimerais bien ke le membre puisse modifier lui meme ses options, mais je n'ai pas trouver le truc pour modifier...je pense que c'est ALTER ....mais bon finalement je ne sais pas trop comment l'utiliser...

    Voila, ensuite je mettrais un acce securisé vers les pages ou le membre ira modifier ses données....

    Voila, donc si vous pouviez m'aider...
    ce serais gentil...
    thx
    Styleman, 24 Mars 2003
    #1
  2. Offline
    SUEd Touriste
    ALTER, c'est pour modifier la structure des tables.

    Maintenant que ta table est créée, tu ne dois, à priori, plus en modifier la structure de celle-ci.

    Par contre, ce que tu dois faire, c'est ajouter/modifier/supprimer des données dans ta table.
    Les lignes d'une table représentent une nouvel "enregistrement". Et les colonnes représentent les "caractéristiques" de l'enregistrement. (En gros, tu as une ligne par membre de ta team, pour ton cas).

    Les commandes MySQL pour cela sont :
    INSERT NomColonne1, NomColonne2 INTRO NomTable VALUES ('$VariableColonne1', '$VariableColonne2')
    pour ajouter

    DELETE FROM NomTable WHERE ....
    pour supprimer

    UPDATE NomTable SET NomColonne1 = "$VariableColonne1, NomColonne2 = '$VariableColonne2' WHERE ...
    pour modifier

    En fait, pour modifier, tu refais un formulaire, mais au lieu de faire un INSERT, tu fais un UPDATE ;) (attention, la syntaxe est différente).

    Maintenant, pour afficher des données, tu dois faire un SELECT.
    voici une petite séquence de code qui revient souvent :

    Code:
    $sql = "SELECT NomColonne1, NomColonne2 FROM NomTable ORDER BY NomColonne1 ASC";
    $result = mysql_query($sql);
    $nbrep = mysql_num_rows($result);
    if ($nbrep != 0) {
         while ($ligne = $mysql_fetch_array($result)) {
              echo $ligne[0] $ligne[1];
         }
    }
    else {
         echo "la table est vide";
    }
    Le mysql_fetch_array met dans le tableau ($ligne) une ligne du résultat ($result).
    Il te suffit donc d'utiliser la commande echo(); pour mettre en page cette ligne avec des tableaux, etc :)

    si tu veux plus de précisions ou si tu ne comprends pas, n'hésite pas à demander ;)
    SUEd, 24 Mars 2003
    #2
  3. Offline
    Styleman Touriste
    Ah ok merci bcp, c'etait tres clair, je v essayer ça...


    Merci bcp!
    Styleman, 24 Mars 2003
    #3
  4. Offline
    Styleman Touriste



    Ok c bine expliquer, now les truc en rouge je pige pas torp c'est quoi, enfin pour $colonne2...c koi ? c la meme chose ke le nom? Sinon je c po koi mettre
    Et pour While, ça sert a koi while?
    Et si je veut rajouter une colonne? parce ke il fat ke je rajoute pseudo...et en fait je v les classer par Pseudo...

    Merci bcp en tout cas!
    Tu m'es d'une aide précieuse!!!
    Styleman, 24 Mars 2003
    #4
  5. Offline
    Styleman Touriste
    ah ouais, je sais ke je suis chiant, mais comment je pourrais faire, pour que ça me mette le nom du membre donc, et que je mette un lien dessus, un lien qui irai vers une page toute les autre infos stocker dans la base le concernant...
    Styleman, 25 Mars 2003
    #5
  6. Offline
    Carambar He once forgot how to cry
    While = pendant que

    while (condition vraie)
    {
    (instructions à exécuter)
    }
    Carambar, 25 Mars 2003
    #6
  7. Offline
    SUEd Touriste
    Code:
    CREATE TABLE 
    infos_tbl (
    id INT (11) not null AUTO_INCREMENT, 
    prenom VARCHAR (35) not null , 
    age VARCHAR (11) null , 
    email VARCHAR (70) not null , 
    icq INT (20) null , 
    l0cation VARCHAR (90) null , 
    pays VARCHAR (20) null , 
    type VARCHAR (50) null , 
    provider VARCHAR (20) null , 
    processeur VARCHAR (30) null , 
    ram VARCHAR (30) null , 
    cg VARCHAR (20) null , 
    son VARCHAR (20) null , 
    souri VARCHAR (20) null , 
    moniteur VARCHAR (20) null , 
    favmap VARCHAR (90) null , 
    favweap VARCHAR (90) null , 
    os VARCHAR (20) null , 
    reso VARCHAR (20) , 
    sensi VARCHAR (20) null , 
    PRIMARY KEY (id), INDEX (id), UNIQUE (id)
    )
    tu crées un fichier membres.php dans lequel tu mets ca :

    Code:
    <?
         if (empty($id)) {
         $sql = "SELECT id, prenom FROM infos_tbl ORDER BY prenom ASC";
         $result = mysql_query($sql);
         $NbRep = mysql_num_rows($result);
         if ($NbRep != 0) {
              while ($ligne = mysql_fetch_array($result)) {
                   echo "<a href=\"membres.php?id=".$ligne[0]."\">".$ligne[1]."</a><br>";
              }
         }
         else {
              echo "Il n'y a pas de membres dans la table.";
         }
    }
    else {
         $sql = "SELECT * FROM infos_tbl WHERE id = $id";
         $result = mysql_query($sql);
         $NbRep = mysql_num_rows($result);
         if ($NbRep != 0) {
              $ligne = mysql_fetch_array($result);
              echo "prenom : ".$ligne[1]."<br>";
              echo "age : ".$ligne[2]."<br>";
              echo "email : ".$ligne[3]."<br>";
              echo "icq : ".$ligne[4]."<br>";
    // tu continues pour les autres infos (si ca commence à $ligne[1], c'est parce que $ligne[0] est l'ID ici
         }
         else {
              echo "Il n'y a pas de membres ayant cet ID.";
         }
    }
    ?>
    
    SUEd, 26 Mars 2003
    #7
  8. Offline
    Styleman Touriste
    ok thx all
    Styleman, 26 Mars 2003
    #8
  9. Offline
    Styleman Touriste
    super ton truc SueD, mais comment je peut faire pour mettre une image? l'image qui correspon a chaque membres quoi...
    thx
    Styleman, 28 Mars 2003
    #9
  10. Offline
    Carambar He once forgot how to cry
    Hmmm, tu peut utiliser une cellule destinée à recueillir l'addresse d'une image (pas l'addresse entière mais juste son nom pour que tu puisse rajouter le restant de l'addresse pour pointer vers un répertoire standard).
    Carambar, 28 Mars 2003
    #10
  11. Offline
    Styleman Touriste
    ouais merci beaucoup tout les deux, vous m'avez beaucoup aider, now Fearless je v un peu etudier histoire de voir comment comprendre un peu mieux et appliquer ce que tu viens de dire, merci pour tout
    vous roxxer!!! :wink:
    Styleman, 28 Mars 2003
    #11
  12. Offline
    Carambar He once forgot how to cry
    Un exemple concret :

    Tu as un répertoire team dans lequel tu as déposé des images des différents membres de l'équipe. Dans ce répertoire tu as le coloneljojo.jpg.

    Maintenant, dans la BDD tu crée une cellule supplémentaire, disons photo, qui va receuillir le nom de l'image en question.

    Finalement, pour afficher cette image avec toutes les informations, tu fais un script qui va chercher automatiquement dans le répertoire team et qui utilise la valeur photo pour charger la bonne image.
    Carambar, 28 Mars 2003
    #12
  13. Offline
    SUEd Touriste
    tu crées une colonne "photo" à la table de ta base de données

    tu as ensuite, par exemple, une ligne :
    - ID : 1
    - prenom : xavier
    - etc...
    - photo : xavier.jpg

    Tu fais une requête comme expliqué plus haut, et imaginons que :
    - le champs "photo" corresponde à la variable "$ligne[20]".
    - tu mettes les photos des membres dans le répertoire "photos" sur le ftp

    alors, pour afficher la photo, tu feras :
    Code:
    echo "<img src=\"photos/".$ligne[20]."\">";
    et ce code se transformera donc, après traitement par PHP en :

    Code:
    <img src="photos/xavier.jpg">
    SUEd, 28 Mars 2003
    #13
  14. Offline
    Styleman Touriste
    meuuuuuuuuuuuh que des roxxors!!!
    THX les gars!
    Vous roxxez grave...je suis a fond plongé dedans le, je comprends ce que vous faites, mais c'est kan meme hard vace tout ces " et ? et . etc...
    J'ai dur a m'y retrouver, surtout a sazvoir kan il faut mettre ça et kan il faut mettre ceci etc...
    enfin ça viendrat surement avec le temps :wink:

    THX BPC BCP!!!
    Styleman, 28 Mars 2003
    #14
  15. Offline
    Styleman Touriste
    et comment je rajoute une colonne a ma table please?
    J'aimerais donc rajouter la colonne pseudo et photos...

    THX BCP!!!
    Styleman, 28 Mars 2003
    #15
  16. Offline
    Styleman Touriste
    en fait jhe viens de relire et c'etait exactrement mon idee...now tu l'a fais pour moi, thx bcp j'y serais surement po arrivé tout seul, d'ailleur sans vous j'aurais rien su faire tout seul...
    lol
    Styleman, 28 Mars 2003
    #16
  17. Offline
    Styleman Touriste
    now je v refaire totalement la table, ça ira plus vite que de rajouter des colonnes, puisque je c pas comment faire, donc v vite refaire la table et le formulaire, thx a tous!!!enfin a vous 2 koi
    Styleman, 28 Mars 2003
    #17
  18. Offline
    GyL_ rageu
    pour aller un peu plus loin que dEUS

    comme ca ca fait pas de tite croix blanche si y'en a po :)
    GyL_, 28 Mars 2003
    #18
  19. Offline
    Styleman Touriste
    gg, thx bcp!
    Styleman, 28 Mars 2003
    #19
  20. Offline
    Styleman Touriste
    ça fonctionne comme Sued l'a dis, pas besoin de plus, ias j'ai essayer, et avec le tiens Gyl y'a un bleme, chais pas c'est quoi...je v reessayer...
    Styleman, 28 Mars 2003
    #20
Statut de la discussion:
Fermée.