Comment faire une table interne en php?

Rechercher

Comment faire une table interne en php?

Par Kao92  -  7 reponses  -  Le 10/05/2011 17:22  -  Editer  - 

Bonjour,

Voila une question sur laquelle je galère depuis quelques bonnes minutes vu que je commence tout juste a pousser mes connaissances php.

Lorque l'on récupère le resultat d'une requete sql, on peut accèder au resultat par une simple boucle.

while($tableau)

{

echo $tableau['nom de la colonne 1'];

echo $tableau['nom de la colonne 2'];

echo $tableau['nom de la colonne 3'];

}

 

Et j'aimerais savoir comment il m'est possible de créer une varible du meme genre.

Un tableau dans lequel je definirais les couleurs pour ensuite y mettre les valeurs.

 

Merci de votre aide!

 

Réponses apportées à cette discussion

Par Kao92  -  Le 10/05/2011 17:22  -  Haut de page  - 

Excusez moi je voulais dire les colonnes et non les couleurs!

 
Par Cyrano  -  Le 10/05/2011 20:14  -  Haut de page  - 

Salut Kao,

je suis pas certain de bien saisir ce que tu veux obtenir. S'il s'agit de transférer le résultat retourné par ta base de données dans un tableau PHP, alors il faut construire un tableau à deux dimensions. La première dimension, ce seront les lignes, la seconde, ce seront les colonnes. Schématiquement ça peut ressembler à ceci :

<?php
$sql = "SELECT ... etc...";
$exec = mysql_query($sql);
$tableau = array();
while(false !== ($ligne = mysql_fetch_assoc($exec)))
{
    $tableau[] = $ligne;
}
//... etc...

Au final, tu retrouveras un nombre n de lignes et pour la colonne col_2 de la ligne x, tu devras chercher $tableau[x]['col_2']; Est-ce que tu y vois plus clair de cette manière ?

 
Par Kao92  -  Le 11/05/2011 10:44  -  Haut de page  - 

Merci je vais voir si cela peut m'aider!

Cela va me permettre de crée ma table.

Pour moi le vrai problème est la visualisation de la donnée.

 

Je vous tiens au courant de mes avancés

 
Par Kao92  -  Le 11/05/2011 11:07  -  Haut de page  - 

Ca a bien marché, je peux desormais accéder a ma table.

$tableau[indice_ligne][nom_du_champ]

Mais désormais je me demande si au lieu de devoir utiliser le numero de ligne il n'est pas possible d'utiliser un champ pour la construction de tableau comme mon champ 'id' je pourrais alors accèder directement a la ligne que je souhaite par $tableau[id][nom_du_champ]

 
Par Cyrano  -  Le 12/05/2011 19:57  -  Haut de page  - 

Tu devrais jeter un coup d'oeil dans la documentation PHP au sujet de la fonction var_dump(), c'est vraiment très utile pour ne pas dire indispensable en cours de développement.

 
Par Kao92  -  Le 13/05/2011 10:29  -  Haut de page  - 

Merci pour vcar_dump() ca va mettre utile pour mon cas, je me suis documenté et j'ai fait un objet pour gérer tout ca ca

class Table extends ArrayObject

{

public function __construct($req)

{

while(false !== ($ligne = mysql_fetch_assoc($req)))

{

$this[] = $ligne;

}

}

public function read($champ, $valeur)

{

$ligne = array();

for($i=0;$iread('champ_cherche',$valeur_cherche );

echo ' '.$ligne_cherche['champ_affiche'].'';

 
Par Cyrano  -  Le 14/05/2011 14:00  -  Haut de page  - 

Mouais, pour aussi peu, je ne suis pas convaincu de l'intérêt d'une extension de ArrayObject.

Par ailleurs, je trouve curieux de faire aussi compliqué au lieu d'ajouter simplement une clause WHERE à ta requête. Ensuite, l'implémentation de ta méthode read ne peut retourner qu'une seule ligne : comment traiteras-tu le problème s'il existe plusieurs lignes correspondant à ton critère de sélection ?

Enfin sur la requête SQL, je déconseille l'utilisation toujours abusive du « SELECT * » : si tu ne cherches que la valeur d'une colonne, pourquoi récupérer l'ensemble du contenu de la table ? Coté performances, c'est plutôt ruineux. Ta requête pourrait donc se résumer à « SELECT colonne_cherche FROM ma_table WHERE colonne_tri = 'valeur de tri' »

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |