Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2007, 22h36   #1
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Par défaut [SQL] Comment classer à volonté ?

Bonjour,

j'aurais besoin de pouvoir classer des articles dans un ordre décidé par l'utilisateur (ni chronologique, ni alphabétique, etc...).

Quel est le meilleur moyen de gérer ça ?
Hum... j'ai pensé affecter à chacun des articles un nombre (de 100 en 100), et de les classer en fonction du nombre affecté, mais ça me semble lourdingue...


J'imagine qu'il doit y avoir beaucoup plus malin !


Merci pour vos bons conseils !

Paul
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2007, 00h54   #2
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web indépendant

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
bonsoir,

Bah, pour moi je pense qu'il n'y a pas de limite en utilisant les requêtes SQL. Avec ORDER tu classe comme tu l'entend et tu peux rendre le tout dynamique via les variables PHP. (enfin si tu utilise une base de données)

Bonne soirée++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2007, 10h30   #3
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par Mister Paul
Hum... j'ai pensé affecter à chacun des articles un nombre (de 100 en 100), et de les classer en fonction du nombre affecté,
je pense aussi que c'est le plus direct pour ce que tu veux faire
par contre, ce nombre peut être stocké dans la base de données uniquement et ensuite dans l'interface avec l'utilisateur tu peux simplement présenter des flèches pour monter ou descendre les articles. tu peux aussi proposer à l'utilisateur d'échanger 2 articles par exemple ou bien lui proposer d'autres actions pour l'aider à classer ses articles sans qu'il ait besoin de s'occuper des nombre
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2007, 18h33   #4
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Argh… mais dans l'absolu avec les nombres on peut arriver à un problème (en cas d'insertions très nombreuses entre 2 items…).

Peut-être qu'en indiquant le voisin direct (ascendant ou descendant) on devrait s'en sortir, non ?
En cas de changement on devrait n'en avoir que 2 à modifier dans la base
(l'ancienne place et la nouvelle)


Mais j'ai bien peur de ne pas m'en sortir sans un petit exemple…
Si vous en connaissez un…
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2007, 21h12   #5
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
si tu as par exemple une suite d'article classés de 1 à 50 et si tu veux insérer un article à la position 12, il suffit de faire une requête pour ajouter une unité aux article qui ont un nombre supérieur ou égal à 12 et ensuite tu insères l'article à la position 12
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 15h33   #6
Membre chevronné
 
Avatar de buzzkaido
 
Homme
Ingénieur développement logiciels
Inscription : juillet 2004
Messages : 817
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2004
Messages : 817
Points : 636
Points : 636
A mon avis, suffit de faire comme Mathieu a dit, mais sans avoir de maximum dans le rang.

Lors d'une suppression d'un article, on peut aussi penser à ramener tous les rang superieur afin d'eviter les "trous"
buzzkaido est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h13.


 
 
 
 
Partenaires

Hébergement Web