Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    ordine per numero mese da timestamp

    ciao a tutti.
    una notizia ha il suo timestamp

    le operazioni che effettuo sono:
    1. raggruppo tutte le notizie di un mese sotto la voce mese 2009
    2. vorrei che i mesi fossero stampati dicembre in alto e, a scendere, fino a gennaio.

    la query attuale è
    Codice PHP:
    $query "SELECT * FROM novita WHERE anno LIKE '".$anno."' GROUP BY mese"
    ...ma mi restituisce i mesi in ordine sparso

    aspetto vostre nuove. grazie
    ---------------------------
    danielix05

  2. #2
    aggiungi

    ORDER BY mese DESC

    ma se hai un timestamp (UNIX o ANSI di MYSQL???) dovrai prima estrarre dalla data anno e mese. Senza contare che se raggruppi per mese otterrai solo un record per mese.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    prove da incosciente

    da incosciente quale sono ho fatto questa prova. dunque, il campo mese e di tipo varchar e ho january, february, ecc...

    Codice PHP:
    for ($anno 2013$anno >= 2006; --$anno) {
                    
                        
    $queryarch "SELECT * FROM novita WHERE anno LIKE '".$anno."' GROUP BY mese ORDER BY '".$posizione."'";
    $resultarch mysql_query($queryarch) or die (mysql_error());
                 
    $numRow=mysql_num_rows($resultarch);
        if(
    $numRow 0)
    {
        echo 
    "[b]".$anno."[/b]
    "
    ;
        while (
    $res_arch mysql_fetch_assoc($resultarch))
                    {

    if(
    $res_arch['mese'] =='Decembre') { $mesearch "Dicembre"$posizione 12; }
    elseif(
    $res_arch['mese'] =='November') { $mesearch "Novembre"$posizione 2; }
    elseif(
    $res_arch['mese'] =='October') { $mesearch "Ottobre"$posizione 3; }
    elseif(
    $res_arch['mese'] =='September') { $mesearch "Settembre"$posizione 4; }
    elseif(
    $res_arch['mese'] =='August') { $mesearch "Agosto"$posizione 5; }
    elseif(
    $res_arch['mese'] =='July') { $mesearch "Luglio"$posizione 6; }
    elseif(
    $res_arch['mese'] =='June') { $mesearch "Giugno"$posizione 7; }
    elseif(
    $res_arch['mese'] =='May') { $mesearch "Maggio"$posizione 8; }
    elseif(
    $res_arch['mese'] =='April') { $mesearch "Aprile"$posizione 9; }
    elseif(
    $res_arch['mese'] =='March') { $mesearch "Marzo"$posizione 10; }
    elseif(
    $res_arch['mese'] =='February') { $mesearch "Febbraio"$posizione 11; }
    else { 
    $mesearch "Gennaio"$posizione 1; } 

    in questo modo, credo abbastanza scorretto, mi stampa i mesi a partire da gennaio in poi. a me serve a partire da dicembre...

    ho anche provato a invertire i valori di $posizione ma nulla.

    non riesco a smuovermi.
    ---------------------------
    danielix05

  4. #4

    ...

    up
    ---------------------------
    danielix05

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    "abbastanza scorretto" è un complimentone. C'è qualcosa che ti obbliga a tenere le date salvate in quel modo?

  6. #6

    emhh

    è il metodo che mi sembrava più veloce per raggiungere il risultato... solo che poi mi hanno chiesto di mettere i mesi in ordine discendente è tutto è crollato.


    indicazioni?
    ---------------------------
    danielix05

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Usare campi di tipo datetime, dopodiché ci tiri fuori quello che ti pare con le funzioni di mysql

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.