Aide - Recherche - Membres - Calendrier
Version complète : affichage de donnees
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
Tetsuya
Salut
voila jexplique mon probleme.
jai une table "artworks" avec :
id,
image,
categorie,
sous_categorie

jaimerai afficher les donnees par categorie et sous categorie.

par exemple:
id=1 | image=01.jpg | categorie=cat1 | sous_categorie=couleur
id=2 | image=02.jpg | categorie=cat1 | sous_categorie=noir/blanc
id=3 | image=03.jpg | categorie=cat2 | sous_categorie=storyboard
id=4 | image=04.jpg | categorie=cat2 | sous_categorie=noir/blanc
id=5 | image=05.jpg | categorie=cat3 | sous_categorie=storyboard
id=6 | image=06.jpg | categorie=cat3 | sous_categorie=couleur

ce que jaimerai c'est, lorsqu'on clic sur un lien, afficher par ex: la categorie "cat1" dans une nouvelle page, et dans cette page voir les liens des sous categorie (pour cet exemple ce serai : "couleur" et "noir/blanc" mais pas "storyboard")

j'arrive a afficher les image par categorie et sous categorie mais c'est les lien des sous categorie que je n'arrive pas a afficher en sachant que si dans la categorie "cat1" il n'y a pas de sous categorie "storyboard" bien on ne l'affiche pas

donc dans la page on verai afficher uniquement les liens Couleur et noir/blanc
et dans la page ou on affiche "cat2" on ne verais que les liens "storyboard" et "noir/blanc".
et idem pour la page "cat3"

et lorsqu'on clic sur les lien des sous categorie par exemple le lien "couleur" dans la page "cat1" ce qui affichera les image couleur de la categorie "cat1".

donc mon probleme se situe dans l'affichage des liens des sous categories.
quel requete dois-je faire? ou plutot que dois-je faire?

(en esperant avoir ete assez explicite sur mon probleme icon_rolleyes.gif )

merci

nb: pour que ca soit un peu plus clair, les nom en bleu ce sont les categorie et les nom en vert sont les sous categorie.
thegwil
Yo !

Pour vérifier si j'ai bien compris ta question, c'est un truc du genre que tu veux ?

Bàt


NB : Ce site est loin d'être terminé, je n'ai donc pas besoin de critiques pour l'instant. Merci.
Tetsuya
salut thegwil et merci pour ta reponse

donc oui c un truc comme ca mais lorsqu'il n'y a rien dans une des sous categories et bien on ne l'affiche pas

donc si je prend ton site comme exemple: imaginons qu'il ny ai rien dans la sous-categorie "Bagues en perles(0)" de la categorie "bagues" et bien on n'affiche pas le liens de cette sous-categorie a l'ecran.

comment je peut arriver a faire ca?
thegwil
Yo !

Le principe est très simple.
Tu comptes d'abord le nombre d'enregistrements que tu as dans chaque sous-catégorie associée à chaque catégorie.
Ensuite, tu testes : si le nombre est > 0, tu affiches le lien sinon tu ne l'affiches pas.

Ca pourrait donner une requête du genre :

Sql
SELECT COUNT(*) FROM ta_table WHERE categorie = 'cat1' AND sous_categorie = 'couleur'


Tu stockes le résultat de ta requête dans une variable, $total_enregistrements par exemple

Et tu affiches ou non le lien :

Php
<?php if ($total_enregistrements > 0) {echo "<a href="ton_lien">blabla</a>";} ?>


Je sais pas si j'ai été clair.
Tetsuya
mais comment faire dans une region repetee, donc si il ya une nouvelle sous-categorie avec des donnee dedans et bien on l'affiche sans devoir toucher au code source de la page.

avec le bout de code que tu as ecri je ne sais afficher que 'couleur' (sans region repetee)

voici un bout de mon code:

Php
$sql = 'SELECT * FROM artworks;';  
$query = mysql_query($sql) or die( 'Erreur' );
while($list = mysql_fetch_array($query))
{
echo "<a href='?page=artworks&cat=".$_GET['cat']."&ss_cat=".$list['sous_categorie']."'>".$list['sous_categorie']."</a><br>";

}


et la ca maffiche :
user posted image

et ce que je veut faire afficher c'est ca:
user posted image

et lorsque par exemple il ya une nouvelle sous_categorie "storyboard" et bien elle s'affiche a la suite des autres (et ce sans toucher au code source de la page)

jespere ke jai ete assez clair et que vous avez compris...
Antoine
Sql
SELECT * FROM artworks GROUP BY sous_categorie;
Tetsuya
wow faudra ke j'aie revoir la doc moi icon_rolleyes.gif

en tout cas merci ca m'affiche les sous-categorie mais j'aimerai aussi que lorsqu'il n'y a pas par ex: la sous-categorie "storyboard" dans la categorie "Final Fantasy X" et bien on n'affiche pas le lien "storyboard" et ainsi d'suite si il n'ya pas de sous-categorie "croquis" dans la categorie "Final Fantasy VIII" et bien on ne l'affiche pas,etc...

comment puis-je faire ca? icon_smile.gif
Antoine
Je ne sais pas comment tes tables sont structurées mais c'est certainement faisable.
Tetsuya
voici ma table:
Sql
-- 
-- Structure de la table `artworks`
--
 
CREATE TABLE `artworks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url_miniature` text NOT NULL,
`url_image` text NOT NULL,
`categorie` varchar(100) NOT NULL DEFAULT '',
`sous_categorie` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=344 ;


et voici donc mon bout de code de tout a l'heure:

Php
$sql = 'SELECT * FROM artworks GROUP BY sous_categorie;';  
$query = mysql_query($sql) or die( 'Erreur' );
while($list = mysql_fetch_array($query))
{
echo "&nbsp;<a href='?page=artworks&cat=".$_GET['cat']."&ss_cat=".$list['sous_categorie']."'>".$list['sous_categorie']."</a>&nbsp;";
}


merci votre aide
Antoine
et tu veux quoi exactement ? icon_mrgreen.gif
Tetsuya
ben j'ai 4 sous categorie: couleur, croquis, chimeres, storyboard.

ex: dans la categorie "Final Fantasy X" il ya les sous-categorie : couleur, croquis, chimeres mais pas storyboard! donc on affiche juste sur la page:
Couleur
Croquis
Chimeres


ex2: dans la categorie "Final Fantasy VI" il y a les sous-categorie : couleur, storyboard mais pas chimeres, croquis ! alors on affiche sur la page:
Couleur
Storyboard


donc je veux afficher a l'ecran les sous-categorie qu'il ya dans les categorie
voila mais je sais pas comment faire icon_cry.gif
Antoine
Sql
SELECT * FROM artworks GROUP BY categorie


non ?
Tetsuya
et bien pour afficher les images dans les sous_categorie et categorie ca va j'y arrive mais je n'arrive pas a afficher les liens des sous-categorie pour afficher les images. enfin j'arrive a afficher les liens des sous-categorie mais le probleme c'est que lorsqu'il n'ya pas d'images dans la sous-categorie et bien le liens s'affiche quand meme et moi je prefererai qu'il ne s'affiche pas et donc en reprenant un exemple et bien:

si il n'y a pas d'images dans la sous-categorie "storyboard" de la categorie "Final Fantasy X" on n'affiche uniquement les liens croquis, couleur, chimeres mais pas storyboard.

si je reprend min image du post plus haut

user posted image

et bien puisqu'il n'y a pas d'images dans la sous-categorie "storyboard"
on n'affiche pas le lien "storyboard" comme sur l'image ci-dessus hors moi j'ai les liens de toute les sous-categorie qui s'affiche sur ma page meme si il n'y a pas d'image dans une des sous-categorie...

comment puis-je y remedier?
merci
Antoine
Mais, ce que je ne comprend pas c'est que s'il n'y a pas d'image, il n'y a pas d'entrée dans la base de donnée, donc pas de sous catégorie. Ou bien alors, sorry ( icon_confused.gif ) mais ta base a un problème... smile.gif
Tetsuya
si il y a des entree
dans ma table il ya 344 enregistrement reparti sur 12 categorie et 4 sous-categorie

voici un certain nombre de donnee dans ma table
Sql
INSERT INTO `artworks` VALUES (1, 'artworks/ffviii/perso/thumbs/02.jpg', 'artworks/ffviii/perso/02.jpg', 'Final Fantasy VIII', 'couleur');
INSERT INTO `artworks` VALUES (2, 'artworks/ffviii/croquis/thumbs/02.jpg', 'artworks/ffviii/croquis/02.jpg', 'Final Fantasy VIII', 'croquis');
INSERT INTO `artworks` VALUES (142, 'artworks/ehrgeiz/thumbs/03.jpg', 'artworks/ehrgeiz/03.jpg', 'Ehrgeiz', 'Couleur');
INSERT INTO `artworks` VALUES (141, 'artworks/ehrgeiz/thumbs/02.jpg', 'artworks/ehrgeiz/02.jpg', 'Ehrgeiz', 'Couleur');
INSERT INTO `artworks` VALUES (80, 'artworks/ffx/perso/thumbs/34.jpg', 'artworks/ffx/perso/34.jpg', 'Final Fantasy X', 'Couleur');
INSERT INTO `artworks` VALUES (81, 'artworks/ffx/perso/thumbs/35.jpg', 'artworks/ffx/perso/35.jpg', 'Final Fantasy X', 'Couleur');
INSERT INTO `artworks` VALUES (82, 'artworks/ffx/chimeres/thumbs/03.jpg', 'artworks/ffx/chimeres/03.jpg', 'Final Fantasy X', 'Chimères');
INSERT INTO `artworks` VALUES (83, 'artworks/ffx/chimeres/thumbs/04.jpg', 'artworks/ffx/chimeres/04.jpg', 'Final Fantasy X', 'Chimères');
INSERT INTO `artworks` VALUES (115, 'artworks/ffvii/perso/thumbs/10.jpg', 'artworks/ffvii/perso/10.jpg', 'Final Fantasy VII', 'Couleur');
INSERT INTO `artworks` VALUES (133, 'artworks/ffvii/croquis/thumbs/04.jpg', 'artworks/ffvii/croquis/04.jpg', 'Final Fantasy VII', 'Croquis');
INSERT INTO `artworks` VALUES (146, 'artworks/ffx-2/perso/thumbs/01.jpg', 'artworks/ffx-2/perso/01.jpg', 'Final Fantasy X-2', 'Couleur');
INSERT INTO `artworks` VALUES (147, 'artworks/ffx-2/perso/thumbs/02.jpg', 'artworks/ffx-2/perso/02.jpg', 'Final Fantasy X-2', 'Couleur');
 
INSERT INTO `artworks` VALUES (187, 'artworks/kingdom_hearts/croquis/thumbs/28.jpg', 'artworks/kingdom_hearts/croquis/28.jpg', 'Kingdom Hearts', 'Croquis');
INSERT INTO `artworks` VALUES (188, 'artworks/kingdom_hearts/perso/thumbs/01.jpg', 'artworks/kingdom_hearts/perso/01.jpg', 'Kingdom Hearts', 'Couleur');
INSERT INTO `artworks` VALUES (189, 'artworks/kingdom_hearts/perso/thumbs/02.jpg', 'artworks/kingdom_hearts/perso/02.jpg', 'Kingdom Hearts', 'Couleur');
INSERT INTO `artworks` VALUES (219, 'artworks/kingdom_hearts/sb/thumbs/4.jpg', 'artworks/kingdom_hearts/sb/4.jpg', 'Kingdom Hearts', 'Storyboard');
INSERT INTO `artworks` VALUES (232, 'artworks/bc/thumbs/01.jpg', 'artworks/bc/01.jpg', 'Final Fantasy VII: Before Crisis', 'Couleur');
INSERT INTO `artworks` VALUES (233, 'artworks/bc/thumbs/02.jpg', 'artworks/bc/02.jpg', 'Final Fantasy VII: Before Crisis', 'Couleur');
INSERT INTO `artworks` VALUES (239, 'artworks/kingdom_hearts_2/thumbs/02.jpg', 'artworks/kingdom_hearts_2/02.jpg', 'Kingdom Hearts 2', 'Couleur');
INSERT INTO `artworks` VALUES (240, 'artworks/kingdom_hearts_2/thumbs/03.jpg', 'artworks/kingdom_hearts_2/03.jpg', 'Kingdom Hearts 2', 'Couleur');
INSERT INTO `artworks` VALUES (244, 'artworks/kingdom_hearts_chains_of_memories/thumbs/03.jpg', 'artworks/kingdom_hearts_chains_of_memories/03.jpg', 'Kingdom Hearts Chain of Memories', 'Couleur');
INSERT INTO `artworks` VALUES (245, 'artworks/kingdom_hearts_chains_of_memories/thumbs/04.jpg', 'artworks/kingdom_hearts_chains_of_memories/04.jpg', 'Kingdom Hearts Chain of Memories', 'Couleur');
 
INSERT INTO `artworks` VALUES (286, 'artworks/the_bouncer/croquis/thumbs/36.jpg', 'artworks/the_bouncer/croquis/36.jpg', 'The Bouncer', 'Croquis');
INSERT INTO `artworks` VALUES (287, 'artworks/the_bouncer/croquis/thumbs/37.jpg', 'artworks/the_bouncer/croquis/37.jpg', 'The Bouncer', 'Croquis');
INSERT INTO `artworks` VALUES (288, 'artworks/the_bouncer/perso/thumbs/01.jpg', 'artworks/the_bouncer/perso/01.jpg', 'The Bouncer', 'Couleur');
INSERT INTO `artworks` VALUES (289, 'artworks/the_bouncer/perso/thumbs/02.jpg', 'artworks/the_bouncer/perso/02.jpg', 'The Bouncer', 'Couleur');
INSERT INTO `artworks` VALUES (327, 'artworks/parasite_eve/thumbs/27.jpg', 'artworks/parasite_eve/27.jpg', 'Parasite Eve', 'Couleur');
INSERT INTO `artworks` VALUES (328, 'artworks/parasite_eve/thumbs/28.jpg', 'artworks/parasite_eve/28.jpg', 'Parasite Eve', 'Couleur');



comme tu peux le voir c'est toujours la meme sous-categorie (Croquis, Couleur, Chimeres, Storyboard) qui reviennent dans toute les categories (Final Fantasy X, Kingdom Hearts, The Bouncer,etc...)

categorie "Final Fantasy VIII" -> Couleur, Croquis
categorie "Ehrgeiz" -> Couleur
categorie "Final Fantasy X" -> Couleur, Chimeres
categorie "Final Fantasy VII" -> Couleur, Croquis
categorie "Final Fantasy X-2" -> Couleur
categorie "Kingdom Hearts" -> Couleur, Croquis, storyboard

ect,etc

donc la sous-categorie "storyboard" ne revient pas dans toute les categorie (seulement dans la categorie "Kingdom Hearts")

donc j'aimerai arriver a afficher les liens des sous-categorie sur la page qui sont dans la categorie selectionnee

voila j'espere avoir ete plus explicite cette fois-ci icon_mrgreen.gif
++
Tetsuya
personne ne sais comment faire? icon_cry.gif
Antoine
hum hum, t'irais pas lire la doc ? icon_mrgreen.gif wink.gif

Sql
SELECT * FROM `artworks` GROUP BY `sous_categorie`, `categorie` ORDER BY `categorie` ASC
Pierre Maurette
Salut,

C'est mon premier post sur mediabox forums, et il va sans doute être jugé parfaitement inutile, au niveau du bruit de fond.
Voilà, je ne suis pas un intégriste de la netiquette. Que les gens soient HS, répondent au dessus de la question (usenet), se tutoient (je vousvoie dans un premier temps, sauf les gamins évidents), ça m'est un peu égal.
Mais s'il y a un truc qui me troue le fion gravement, c'est bien un fil qui se termine sur une réponse (pertinente) et aucun retour du PO (l'initiatuer du fil). Au moins pour dire que ça fonctionne et marquer le fil comme résolu, éventuellment pour remercier.
Sinon, je me présente en quelques mots : j'ai l'âge canonique de un demi-siècle, en informatique, je suis essentiellement autodidacte et amateur, j'ai quand même pondu quelques ouvrages sur l'assembleur x86 (Micro Application). J'ai quelques pages perso qui traînent chez Free, et depuis quelques jours je cherche à professionaliser l'approche, après avoir tout fait pour ne pas m'intéresser à la toile (l'entreprise "La balise en carton" est un gag).
Mais je fais plein de trucs en même temps (DWMX, CSS, Php, MySQL, etc.) et c'est un peu le brin. En bref, je papillonne frénétiquement.
Voilà, bonne fin de week-end à tous

Pierre Maurette
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.