Selection d'une plage d'éléments.

Selection d'une plage d'éléments. - SQL/NoSQL - Programmation

Marsh Posté le 23-04-2006 à 11:09:31    

Bonjour!
 
Voila je me suis fait une petite radio Web a usage personnel utilisant Mediabox404 pour la création de playlist.
 
Les chansons de la playlist sont donc stockées dans une base sql et j'aimerais faire un petit script php pour l'affichage de cette playlist. Je ne souhaite pas affiché toute la playlist mais seulement l'élément en cours (ça c'est bon, je l'ai récupéré) et 10 chansons avant puis 10 chansons après.
 
En gros seraient affichés un élément central et les 10 entrées précédant et suivant cet élément. Je ne sais pas trop comment faire. Pourriez vous m'aider? Merci!

Reply

Marsh Posté le 23-04-2006 à 11:09:31   

Reply

Marsh Posté le 23-04-2006 à 15:49:41    

Comment tu choisis dans quel ordre les chansons sont lues ?

Reply

Marsh Posté le 03-05-2006 à 15:30:34    

En fait les chansons choisies sont entrées dans une table SQL par Mediabox404.
 
En fait le probleme, c'est de sélectionner dans cette table deja remplie 21 éléments centrés sur un élément que je peux facilement repéré...
 
(désolé pour le temps de réponse, j'étais en vacances ;) )

Reply

Marsh Posté le 09-05-2006 à 20:46:56    

Personne ne peut m'aider ?  :(

Reply

Marsh Posté le 09-05-2006 à 22:22:01    

C'est avec mySql ?
 
Je testerais quelquechose du genre :
 
SELECT *
FROM (
SELECT *
FROM maTable
WHERE monChamp < maValeurCentrale
ORDER BY monChamp DESC
LIMIT 10
UNION
SELECT *
FROM maTable
WHERE monChamp >= maValeurCentrale
ORDER BY monChamp ASC
LIMIT 11)
ORDER BY monChamp ASC;
 
En gros, sélectionner les 10 valeurs précédentes, rajouter les 11 valeurs suivantes, et re-trier le résultat ...
 
A tester, et corriger si problème (il faut peut-être des parenthèses supplémentaires pour les ORDER BY / LIMIT / UNION).

Reply

Marsh Posté le 10-05-2006 à 19:30:15    

Merci je vais essayer!

Reply

Marsh Posté le 10-05-2006 à 20:36:59    

Ca marche nickel ;) Merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed