Newsgroup: it.comp.www.php
Titolo: [Come fareste] Ordinamento dinamico

Ciao
sto cercando di migliorare un pannello di controllo per la gestione 
delle news. Ora volevo fare un sistema che mi permetta di far salire o 
scendere il ranking delle news. Insomma vorrei creare un posizionamento 
dinamico, simile a quello di mambo.
Avevo pensato mettere un campo rank e ogni volta che si aggiunge (o si 
toglie) un record quest'ultimo prende il rank 1 mentre a gli ultimi 10 
viene fatto un update del rank con vecchio.valore-1. Dopo il valore 10 
assumono tutti il valore 11..
Pensate che possa funzionare? Dovrò tirare fuori alcune query efficaci.
Voi avete idee migliori?
Ciao
Simone


Non c'è bisogno di modificare il rank per ogni valore, è sufficiente 
ordinarlo solo per il rank.
Mi spiego meglio, in un sito dove ho messo su un concorso fotografico 
online, le foto sono ordinate secondo i voti (ovviamente è nella query 
che avviene questo). 
Gli amministratori del sito hanno poi la possibilità di scrivere in un 
text input il numero dei voti, cliccando su aggiorna questo valore (
riferito alla foto in questione, viene inserito nel Db e la pagina viene 
riaggiornata con l'ordinamento modificato.
Le foto con lo stesso valore sono ordinate poi anche per data e in 
ultimo per ordine alfabetico.
Spero di averti aiutato.
Max
-- 
Se mi volete scrivere
massimo . ori @ aliceposta . it

 
Grazie per la risposta.
In realtà questo sistema dovrebbe servire a cambiare la posizione alle 
news. Infatti succede che l'ordinamento per data di pubblicazione oppure 
per la data dell'avvenimento, mi trovo delle incongruenze (magari una 
comunicazione di una cosa già accaduta un grado sopra una che dovrà 
accadere. Oppure il contrario, una comunicazione di una cosa che è già 
avvenuta messa in fondo perchè ordinate per data).
Se fosse per me avrei fatto diversamente il tutto, creando due "zone" 
una news e una comunicazioni, ma i miei committenti non la pensano così. 
Allora... devo escogitare un sistema che mi permetta di "spostare" in 
alto o in basso le comunicazioni e riordinarle a mio piacimento.
Quello che dici tu può funzionare in parte. cmq continuo a pensarci.
Ciao
Simone


www.danilobottone.com
 (.it)
La felicità più grande non sta nel non cadere mai, ma nel risollevarsi
sempre dopo una caduta. (Confucio) 

 dinamico, simile a quello di mambo.
Non conosco mambo, cmq ecco il sistema che uso io per ottenere questo 
risultato.
Nella tabella delle news crea un campo "ordine"; la prima news inserita 
dovrà avere valore "1"; dalla seconda in poi fai una query per conoscere 
qual'è la news col valore di ordine più alto, gli aggiungi uno e dai 
questo valore al nuovo record.
In questo modo la prima news inserita avrà ordine "1", la seconda "2", ecc.
Quando vuoi spostare in alto (o in basso) una notizia fai una query per 
sapere qual'è la news col valore di ordine immediatamente più alto (o 
più basso) rispetto a quella che vuoi spostare e inverti i risultati.
Nella visualizzazione delle news ti basterà ordinarle per il valore di 
ordine DECRESCENTE.
Il gioco è fatto!
Ale

BUongiorno a tutti, mi introduco in questa discussione, poichč interessa
anche me.
Il problema che sto affrontando e di cui Vi chiedo lumi, č piů o meno simile
a quello prospettato, io perň vorrei che le news scadute non venissero piů
mostrate, rimandendo perň nel database..č possbile?
Grazie per l'attenzione