Page 1 sur 1

mysql

Posté : 28 sept. 2005, 11:04
par fersayn
j'ai developpé une base de donnée mysql.
Cette base contient des documents par ordre ante-chronologique (du plus recent au plus vieux).
document unique definie par une clef primaire id en auto-incrémentation.

De plus, j'ai associé un moteur de recherche a cette base de donnée. Je voudrais que les documents s'affichent du plus recent au plus vieux.

(Je ne peux definir la clef primaire par date car il se peut qu'il y ait plusieurs documents a une meme date.)


je voudrais savoir comment faire pour que lorsque j'enregistre un document via phpadmin le document se mettent en premiere position pour que le moteur de recherche le considere en premier?

j'ai pensé a ceci: il faut que je lui donne un id=1 pour qu'il se mette en premiere position et que les autres prennent automatiquement les valeurs suivantes?


merci.

Posté : 28 sept. 2005, 11:11
par heddicmi
Ta façon de faire me semble hasardeuse...

Tes enregistrements peuvent être inséré dans n'importe quel sens. Tu peux toujours trier ton champs date dans la requête qui ira chercher les résultats.

Tu te compliques la vie pour rien...

Posté : 28 sept. 2005, 11:24
par Tho
Oui, laisse mysql faire sa soupe avec l'id auto-increment. Ce n'est pas un critère pertinent pour le tri, il sert juste à s'assurer de l'unicité de ta ligne.

Si tu veux vraiment que chaque enregistrement ajouté soit en premier, alors fais un tri décroissant sur ton id.
Cette base contient des documents par ordre ante-chronologique (du plus recent au plus vieux).
Un des intérêts d'une base de données est qu'on peut mettre les valeurs en vrac et elle s'occupera de les trier. Pas la peine de les insérer triés (à part une optimisation spécifique pour une seule requête de tri).

Posté : 28 sept. 2005, 11:44
par fersayn
je suis nouveau en php...
Avez une idée de requete a inserer dans le script pour que le résulats s'affiche par date par ordre décroissant du plus récent au plus vieux?

Posté : 28 sept. 2005, 11:46
par charabia
Après avoir utilisé les auto incrément, il te suffit juste de faire une requête avec ORDER BY xxx desc (ou asc) pour les afficher de façon décroissante ou croissante.

Posté : 28 sept. 2005, 11:48
par heddicmi
Ce n'est pas du PHP le soucis ici... C'est du SQL... Regarde cette page et penche toi sur le ORDER BY...

Posté : 28 sept. 2005, 12:10
par mere-teresa
Modération : je déplace le sujet dans "Base de données" où tu devrais avoir plus de réponses.

Posté : 28 sept. 2005, 14:26
par pjl
je suis nouveau en php...
Avez une idée de requete a inserer dans le script pour que le résulats s'affiche par date par ordre décroissant du plus récent au plus vieux?
Une idée oui, même plusieurs mais sans savoir que que tu as déjà fait...........


PS : un titre plus explicite serait sympa.