|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
bonjour, j'ai pu créer une base de données grâce à l'un d'entre vous, j'aimerai cependant la modifier
pour le moment il s'agit d'une base de données pour des galeries d'image il y a :
pour le moment, chaque galerie s'affiche selon l'id, soit un chiffre (1, 2, 3, 4 etc) lorsque je crée une nouvelle galerie, je dois lui attribuer un id (mettons 8 s'il y a 7 galeries existantes) seulement j'aimerai inverser l'ordre d'affichage de ces galeries, j'aimerai que le dernier ajout dans ma base de données s'affiche dès le début de ma page (normal, comme il s'agit d'une nouvelle galerie...) pourriez-vous donc m'expliquer comment on peut inverser l'ordre d'affichage lors de la requête par ex galerie n° 05 galerie n° 04 galerie n° 03 galerie n° 02 galerie n° 01 ou peut etre ajouter un champs à ma table, un champs "temporel" et faire en sorte que le code affiche toujours la galerie la plus récente...mais l'inversion numérique me semble surement plus facile à réaliser par avance merci pour votre aide |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
je ne vois pas où se trouve le Select...désolé
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
si ça y est j'ai trouvé
trier sur l'index : PRIMARY (décroissant) j'ai alors une ligne supplémentaire "ORDER BY 'id' DESC du coups je devrais supprimer le premier ORDER BY 'id' non ? |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
je ne constate aucun changement, c'est toujours le même ordre d'affichage
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
Donne la requête si ça bloque toujours.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
j'ai ajouté DESC dans la préparation de la requête SQL de ma page php...ça a l'air de fonctionner (à mon grand étonnement)
|
|
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
Citation:
non là ça a l'air de marcher, j'ai exécuté cette requête SELECT id FROM 'galerie' ORDER BY id DESC je crois... et j'ai ajouté le paramètre DESC dans ma page php...c'est bon ? |
|
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Code :
SELECT id FROM 'galerie' ORDER BY id DESC
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
j'ai tout faux alors...ok
je joins un fichier galerie.sql si jamais tu peux le corriger...je ne sais pas |
|
|
00
|
|
|
#11 | |||
![]() ![]() |
Voici la description de ta table :
Code SQL :
Citation:
Mais y a aura t-il un jour un reste ? Je n'aimerais pas avoir à lire un titre de galerie de 300 caractères, ni même de 255 caractères d'ailleurs ! Cela me semble sur-dimensionné pour cette colonne. Et les liens feront-ils plus de 255 caractères pour justifier un type TEXT ? Quant à "vignettes", le pluriel me suggère que tu comptes enregistrer dans cette colonne plusieurs vignettes pour une ligne de données. Si c'est le cas, c'est une erreur de modélisation. Du fait de l'auto-incrément, le plus grand id sera en principe donné à la dernière galerie créée. Mais si un jour il y a suppressions de galeries et que par malheur quelqu'un réutilise un identifiant supprimé (ce qu'il ne faut jamais faire !), la dernière galerie ne sera pas celle ayant l'id le plus grand. D'où la suggestion de Séb. d'ajouter une colonne date_creation à ta table et de classer par cette date en ordre descendant.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
|
|
#12 | |||
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
Citation:
ok donc il y a quelques erreurs dans cette table, je ne l'ai pas conçu (je n'en serai pas capable), c'est un utilisateur de ce forum qui a eu la gentillesse de m'aider à concevoir une base de données pour une galerie, accompagnée de sa tabulation le champs "liens", je l'ai ajouté mais son type n'est pas le plus approprié...ok pour le reste, l'idée de Seb est évidemment excellente mais je ne serai pas capable de la réaliser, je suis graphiste, et mes compétences sont très limitées (html css) j'ai d'ailleurs de vraies difficultés pour comprendre le fonctionnement de mySQL, j'utilise MAMP sur mac pour travailler sur ce site, mais dès qu'il s'agit d'importer une table, ajouter un champs etc, le modifier, c'est un vrai calvaire |
|||
|
|
00
|
|
|
#13 | ||
![]() ![]() |
Qu'utilises-tu pour créer, modifier, alimenter... la table ?
- phpMyAdmin ? - MySQL Workbench ? - La console MySQL ? - autre ? Pour ajouter la colonne, si tu ne disposes pas d'outil graphique pour le faire, utilise cette requête : Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
j'utilise phpMyAdmin version 3.2.5
non mes galeries ne sont pas fictives, je compte importer cette base de données sur le serveur quand le site aura un contenu suffisant (soit un minimum de deux pages et une douzaine de travaux) je serai tenté de corriger les erreurs relevées par cinePhil, mais je vais attendre, pas envie de tout bousiller, ça marche là, malgré tout qu'entends tu par outil graphique ? je peux ajouter un champs à une table je crois, avec des boutons, des listes déroulantes etc |
|
|
00
|
|
|
#15 | |||
![]() ![]() |
Donc tu peux ajouter une colonne à la table avec phpMyAdmin ou tu peux aussi lancer ma requête dans l'onglet SQL de la table.
Citation:
Avec du texte issu du générateur de texte en latin en titre de galerie ? Et comme du coup je suis allé revoir ton script SQL, j'ai vu qu'effectivement les "vignettes" sont en effet les différentes photos affectées à une galerie. Il y a donc une grosse erreur de modélisation des données. Première règle d'or en bases de données : 1 colonne de table = 1 donnée par ligne. Dans ton cas, tu as l'une des règles de gestion suivantes : 1) Une galerie peut comprendre plusieurs vignettes et une vignette est comprise dans une seule galerie. 2) Une galerie peut comprendre plusieurs vignettes et une vignette est comprise dans une à plusieurs galeries. La première règle de gestion donne le MCD suivant : galerie -0,n----comprendre----1,1- vignette Ce qui donne les tables suivantes : galerie (gal_id, gal_nom, gal_date_creation) vignette (vig_id, vig_id_galerie, vig_fichier...) => Clé étrangère référençant la galerie dans la table vignette. La seconde règle donne le MCD suivant : galerie -0,n----comprendre----1,n- vignette Ce qui donne les tables suivantes : galerie (gal_id, gal_nom, gal_date_creation) vignette (vig_id, vig_fichier...) gal_comprendre_vig (gcv_id_vignette, gcv_id_galerie) => Table associative. Citation:
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
oui je sais il y a encore du faux texte, je me charge d'abord d'optimiser les images, je m'occuperai du texte plus tard, ça ne me semble pas prioritaire
je n'ai strictement rien compris à ton explication sur la modélisation des données, trop savant, trop scientifique...je suis d'une complète nullité en mathématiques (3 sur 20 à l'épreuve de mathématiques du Bac...) vraiment désolé je vais tenter d’exécuter cette requête pour créer le datetime, mais après, pour le classement ? tu ne peux pas corriger cette modélisation des données ? me proposer quelque chose de solide ? encore merci pour tes conseils |
|
|
00
|
|
|
#17 |
![]() ![]() |
Ce ne sont pas des maths. Je ne t'ai pas parlé de la théorie relationnelle qui est à l'origine des bases de données relationnelles modernes.
C'est simplement de la modélisation des données. Le modèle que je t'ai donné est solide. À toi de déterminer la bonne règle de gestion qui convient à ton besoin et met en oeuvre le modèle de données adéquat en fonction de cette règle de gestion. L'informatique est un métier.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
je sais bien que l'informatique est un métier, et ce n'est pas le mien, je ne suis qu'un graphiste, plasticien, je n'ai aucune compétence en programmation avancée, seulement il me faut un site solide, que je puisse le mettre facilement à jour, répartir mon boulot sur x pages etc, je pensais que la partie php était bien conçue et tu me dis que la modélisation des données est incorrecte...je suis dévasté (j’exagère un peu)
sinon j'ai essayé d’exécuter la requête, d'abord la première ligne, puis la seconde, mais on me signale une erreur de syntaxe pour la seconde ligne... |
|
|
00
|
|
|
#19 | ||
![]() ![]() |
Citation:
Il est existe sûrement d'autres. ![]() Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 25 ![]() |
oui j'y ai songé, mais je n'ai pas l'impression que ces solutions me laissent beaucoup de liberté en terme de design, j'aimerai avoir un site très personnalisé graphiquement...pour la partie css je me débrouille, mais pour le reste je suis toujours confronté à des difficultés insurmontables, tu ne veux pas m'aider davantage, ok, je te remercie pour ces conseils en tout cas, et la qualité de cet échange (même si j'en sors un peu diminué, comme toujours lorsque je croise un programmeur ou un ingénieur, je réalise l'étendue de mes lacunes etc)
enfin bref |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com