Inserer données MySQL dans un tableau

Statut
N'est pas ouverte pour d'autres réponses.

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
 

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 ;)
 
1er
OP
S

Styleman

Touriste
Ah ok merci bcp, c'etait tres clair, je v essayer ça...


Merci bcp!
 
1er
OP
S

Styleman

Touriste
SUEd a dit:
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 ;)



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!!!
 
1er
OP
S

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...
 

Carambar

Elite
Styleman a dit:
Et pour While, ça sert a koi while?
While = pendant que

while (condition vraie)
{
(instructions à exécuter)
}
 

SUEd

Touriste
Styleman a dit:
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...
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.";
     }
}
?>
 
1er
OP
S

Styleman

Touriste
super ton truc SueD, mais comment je peut faire pour mettre une image? l'image qui correspon a chaque membres quoi...
thx
 

Carambar

Elite
Styleman a dit:
super ton truc SueD, mais comment je peut faire pour mettre une image? l'image qui correspon a chaque membres quoi...
thx
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).
 
1er
OP
S

Styleman

Touriste
Fearless a dit:
Styleman a dit:
super ton truc SueD, mais comment je peut faire pour mettre une image? l'image qui correspon a chaque membres quoi...
thx
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).
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:
 

Carambar

Elite
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.
 

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">
 
1er
OP
S

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!!!
 
1er
OP
S

Styleman

Touriste
et comment je rajoute une colonne a ma table please?
J'aimerais donc rajouter la colonne pseudo et photos...

THX BCP!!!
 
1er
OP
S

Styleman

Touriste
SUEd a dit:
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">
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
 
1er
OP
S

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
 

GyL_

rageu
pour aller un peu plus loin que dEUS

if ($ligne[20] != NULL){
echo "<img src=\"photos/".$ligne[20]."\">";
}
else {
echo "&nbsp";
}
comme ca ca fait pas de tite croix blanche si y'en a po :)
 
1er
OP
S

Styleman

Touriste
GyL_ a dit:
pour aller un peu plus loin que dEUS

if ($ligne[20] != NULL){
echo "<img src=\"photos/".$ligne[20]."\">";
}
else {
echo "&nbsp";
}
comme ca ca fait pas de tite croix blanche si y'en a po :)
gg, thx bcp!
 
1er
OP
S

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...
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut