Visualizzazione dei risultati da 1 a 7 su 7

Discussione: ordinare record

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    ordinare record

    salve..
    ho creato una spece di forum..
    però ho un problemino nel riordinare le discussioni e i messaggi all'interno delle discussioni :berto:

    riorino le discussioni prendendo dalla tabella la data dell'ultimo messaggio.. e fin qui non ci sono problemi..
    cioè ho una riga della tabella che viene aggiornata ogni volta ceh si inserisce un messaggio all'interno di quella discussione...

    questa riga prende sia la data (00/00/0000) sia l'ora (00:00)

    fin quando la data era epr esempio

    27/02/2007 18:05
    28/02/2007 17:00
    28/02/2007 17:01

    me li riordinava correttamente

    ma ora ceh invece è cambiato mese, mi sballa tutto

    esempio

    01/03/2007 15:00
    27/02/2007 18:05
    28/02/2007 17:00
    28/02/2007 17:01

    la query che uso è

    Codice PHP:
    SELECT *, LEFT(titolo25) AS titolo FROM tabella WHERE id_discussione='$_GET[id_discussione]' ORDER BY data ASC 
    qualceh suggerimento, consiglio e/o insulto per una cavolata ceh sto facendo?

  2. #2
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    facciamo una domanda più semplice.. com'è che ordino qualcosa prendendo in considerazione data e ora?

  3. #3
    bene...invece di scrivere g/m/a scrivi a/m/g....all'americana...ciao

  4. #4
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da jamesbond
    bene...invece di scrivere g/m/a scrivi a/m/g....all'americana...ciao
    ehh lo so ci avevo pensato! ma volevo sapere qual'è un'altro modo epr farlo!

  5. #5
    perchè un'altro modo?...io ho sempre usato quello e funziona.

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da jamesbond
    perchè un'altro modo?...io ho sempre usato quello e funziona.
    si oK! volevo sapere in ceh modo potevo farlo rimanendo giorno/mese/anno invece di anno/mese/giorno

    cmq mi sa che per ora uso quella

    anno/mese/giorno poi appena qualcuno mi illuminerà vedrò che fare

  7. #7
    Nn so se MySQL ha una funzione del genere, però se esiste non dovresti avere problemi:

    mi riferisco ad una funzione che prende una data nel formato italiano e la trasforma nel formato americano. Supponiamo si chiami trasforma_data,
    allora la query potrebbe diventare:

    SELECT *, LEFT(titolo, 25) AS titolo FROM tabella WHERE id_discussione='$_GET[id_discussione]' ORDER BY trasforma_data(data) ASC

    se fosse così avresti risolto il problema.

    Oppure potresti utilzzare questo escamotage.

    Se quando inserisci un nuovo messaggio per una discussione, per tale nuovo messaggio generi un id che è di tipo autoincrement, il gioco è fatto. Infatti basta ordinare in ordine decrescente di id.

    Infatti un id più grande vuol dire ke il messaggio è stato creato dopo per quella discussione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.