Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27

    Ordinare records in mysql

    Ciao ragazzi vi espongo il mio problema: In una tabella ho 4 records... ognuno ha una sua data... mi piacerebbe che con unoi script php potessi a comando riordinare i record pe data! la data più imminente avrà l'id 1... poi 2 3 etc etc! Badate bene non parlo di Order by ma proprio di riorganizzazione all'interno del database! Grazie mille per eventuali suggerimenti!

  2. #2

    Re: Ordinare records in mysql

    Originariamente inviato da simom85
    Ciao ragazzi vi espongo il mio problema: In una tabella ho 4 records... ognuno ha una sua data... mi piacerebbe che con unoi script php potessi a comando riordinare i record pe data! la data più imminente avrà l'id 1... poi 2 3 etc etc! Badate bene non parlo di Order by ma proprio di riorganizzazione all'interno del database! Grazie mille per eventuali suggerimenti!
    Sarebbe un lavoro inutile, la classica fatica di Sisifo. I record sono per definizione inseriti in modo random nel db e la visualizzazione, che e' quella che conta, viene ordinata con order by.

    L'id identifica un record in modo anonimo, cioe' senza significato di valore ma solo di riferimento allo specifico record.

    Se vuoi numerare i record estratti lo puoi fare usando il php al momento della stampa.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27
    ciao Piero! Purtroppo io non posso usare l'order by! Devo per forza pescare i record singoli in base al loro ID! E vorrei che nell'ID 1 ci fosse sempre la data più imminente e cosi via!

    qualcosa come:

    valore1=dataAttuale-dataRegistrata
    valore2=dataAttuale-dataRegistrata

    id1=minore tra valore 1 e valore 2

    però considerando 6 records

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27
    diciamo che a me non interessa che siano ordinati visivamente dall'id 1 al 2 al 3! I record potrebbero pure essere messi a caso dentro la tabella... l'mportante è che l'id rispecchi l'imminenza della data

  5. #5
    Originariamente inviato da simom85
    diciamo che a me non interessa che siano ordinati visivamente dall'id 1 al 2 al 3! I record potrebbero pure essere messi a caso dentro la tabella... l'mportante è che l'id rispecchi l'imminenza della data
    dovresti riordinare sempre l'id ad ogni inserimento di una nuova data.

    citi due date ... quel trattino e' un meno oppure una divisione di valori? Se si tratta di un meno si puo' fare diversamente, altrimenti

    order by dataAttuale DESC, dataRegistrata,
    LIMIT 6

    dovrebbe funzionare.

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27
    diciamo che io il riordinamento lo vorrei fare non nell'atto dell'inserimento ma dopo richiamando un'altro script php!

    Quel trattino in realtà era un meno... perchè pensavo ad esempio:

    valore1=24/06/12 - (meno) 21/06/12 = 3;
    valore2=28/06/12 - (meno) 21/06/12 = 7;

    essendo 3 più piccolo di 7... il valore1 si becca ID 1 e il valore2 ID 2.. questo sino ad assegnare sei diversi ID

  7. #7
    Originariamente inviato da simom85
    diciamo che io il riordinamento lo vorrei fare non nell'atto dell'inserimento ma dopo richiamando un'altro script php!

    Quel trattino in realtà era un meno... perchè pensavo ad esempio:

    valore1=24/06/12 - (meno) 21/06/12 = 3;
    valore2=28/06/12 - (meno) 21/06/12 = 7;

    essendo 3 più piccolo di 7... il valore1 si becca ID 1 e il valore2 ID 2.. questo sino ad assegnare sei diversi ID
    Hai una bella funzione che ti permette di fare questa operazione DATEDIFF():

    codice:
    select *, DATEDIFF(dataAttuale, dataRegistrata) as delta
    from tabella
    order by delta desc
    limit 6
    ripeto non manovrare gli id che oltretutto sono chiave primaria....

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27
    nel mio caso è LIMIT 1 e non Limit 6... non ho una tabella di risultati in cui potrò visualizzare 6 valori! Con questo script devo andare ad aggiornare delle variabili all'interno di un applicazione java... e ogni variabile e specifica ad un ID! quindo devo pescare dal database solo UN valore per volta! Ed è per questo che mi servirebbe un riordinamento dei record già in fase di inserimento o comunque sul database stesso! Non posso far affidamento sull'order by

  9. #9
    Originariamente inviato da simom85
    nel mio caso è LIMIT 1 e non Limit 6... non ho una tabella di risultati in cui potrò visualizzare 6 valori! Con questo script devo andare ad aggiornare delle variabili all'interno di un applicazione java... e ogni variabile e specifica ad un ID! quindo devo pescare dal database solo UN valore per volta! Ed è per questo che mi servirebbe un riordinamento dei record già in fase di inserimento o comunque sul database stesso! Non posso far affidamento sull'order by
    raccogli il result set in un array e lo assegni dove ti pare....

    vorrai mica fare una query per ogni riga estratta? Puoi sempre navigare nel result set.

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    27
    diavolo non ne sono capace potresti darmi una mano? Con un esempio magari?

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.