Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    creare funzione di ordinamento personalizzata

    ho questi campi nel db, e li estraggo (ora senza problemi )
    Codice PHP:
    269        "Tuesday 15th May 2007"                                                               
    270        "Tuesday 29th May 2007"                                                                        
    271        "Thursday 31st May 2007"                                                                        
    318        "Tuesday 22th May 2007"                                                                         
    319        "Monday 21st May 2007" 
    li ho esattamente in questo ordine, e dopo l'estrazione infatti ottengo questo

    Codice PHP:
    Array ( 
    [
    269] => "Tuesday 15th May 2007" 
    [270] => "Tuesday 29th May 2007" 
    [271] => "Thursday 31st May 2007" 
    [318] => "Tuesday 22th May 2007" 
    [319] => "Monday 21st May 2007" 
    come potrei fare per ottenere un ordinamento per data? e non per numero (269,270,ecc)
    creando array di supporto? qualcos'altro? :master:
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    se hai una versione 5 di mysql prova ad usare str_to_date( )

    nel tuo caso:
    codice:
    select *, str_to_date( 'Tuesday 15th May 2007' , '%W %D %M %Y ') as data
    from tabella
    where
    order by data
    ovviamente metterai il campo dove hai la stringa della data. Senza apici, of course...

    dai anche una lettura alle pillole su date/time.... cosi' mi sentiro' meno inutile...

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

  3. #3
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    non ho la versione 5, ma 4.3.8.

    Vedo di trovare qualcosa su date/time
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  4. #4
    Originariamente inviato da blekm
    non ho la versione 5, ma 4.3.8.

    Vedo di trovare qualcosa su date/time
    intendo la versione di mysql.... deve essere >= 4.1 ti deve rendere direttamente l'ordinamento cercato.

    @edit

    ho provato per sicurezza e funziona..
    codice:
    select str_to_date( 'Tuesday 15th May 2007' , '%W %D %M %Y ')
    2007-05-15

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

  5. #5
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da piero.mac
    intendo la versione di mysql.... deve essere >= 4.1 ti deve rendere direttamente l'ordinamento cercato.
    come faccio a vedere la versione di MYSQL? dubito che sia > 5.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  6. #6
    Originariamente inviato da blekm
    come faccio a vedere la versione di MYSQL?
    la vedi con phpmyadmin nella pagina home

    oppure con una query

    select version();

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

  7. #7
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    http://database.html.it/articoli/leg...mpo-con-mysql/

    Dalla versione 4.1.1 di MySQL è disponibile la preziosa funzione STR_TO_DATE(), inversa di DATE_FORMAT. Essa riceve come argomenti la stringa contenente la data e la corrispondente stringa di formattazione e restituisce un valore DATETIME, DATE o TIME a seconda delle circostanze.
    comunque, ho una versione superiore alla 5.

    Sto provando ad applicare quel pezzetto di codice che mi hai dato, ma non riesco a venirne fuori.. come son duro!
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  8. #8
    Se la query e' quella del post precedente... ti stai perdendo in un bicchiere d'acqua...

    codice:
    "SELECT productid, class,  str_to_date( class, '%W %D %M %Y') as data
    FROM tabella 
    WHERE productid IN (269,270,271,318,319) 
    AND class LIKE '%2007%'
    order by data
    ";
    ti viene dato come ordinamento la data estratta dalla stringa

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

  9. #9
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    intanto grazie per la pazienza...

    Codice PHP:
     $query "SELECT productid, class,  str_to_date(class, '%W %D %M %Y') as data
                    FROM table 
                    WHERE productid IN (269,270,271,318,319) 
                    AND class LIKE '%2007%'
                    order by data"

            
    $risultato_query mysql_query($query$connessione_db) or die(mysql_error()); 
            
    $date_from_db = array();
            while (
    $result mysql_fetch_assoc($risultato_query))
            {
                
    $date_from_db[] = $result['class'];
            }
            
    mysql_close($connessione_db);
            return 
    $date_from_db
    ottengo questo risultato

    Array (
    [0] => "Tuesday 15th May 2007"
    [1] => "Tuesday 29th May 2007"
    [2] => "Thursday 31st May 2007"
    [3] => "Tuesday 22th May 2007"
    [4] => "Monday 21st May 2007"
    )

    può dipendere dal fatto che nel database le stringhe sono cosi salvate

    class= "Tuesday 15th May 2007"

    forse sono gli apici che danno noia?

    Oppure forse il th, st dopo la data?
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  10. #10
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da blekm
    può dipendere dal fatto che nel database le stringhe sono cosi salvate

    class= "Tuesday 15th May 2007"

    forse sono gli apici che danno noia?
    mi quoto da solo, tolti gli apici pare che funzioni. Farò altri test (prossima settimana) e vedo.

    piero.mac, grazie ancora. Mi hai aiutato veramente, non l'avrei mai trovata quella funzione...
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

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.