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

    [mysql&php]selezionare data maggiore

    Come selezionare la data maggiore lo so, ma se io ho 10 campi data e faccio SELECT MAX(data)... mi restituisce la data più grande, ma come faccio a sapere quale tra quelle date è stata selezionata? fra data inizio, data fine, data scadenza etc...


    Spero di essere riuscito a spiegarmi.
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    Re: [mysql&php]selezionare data maggiore

    Originariamente inviato da 13manuel84
    Spero di essere riuscito a spiegarmi.
    no
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591

    Re: [mysql&php]selezionare data maggiore

    Originariamente inviato da 13manuel84
    Come selezionare la data maggiore lo so, ma se io ho 10 campi data e faccio SELECT MAX(data)... mi restituisce la data più grande, ma come faccio a sapere quale tra quelle date è stata selezionata? fra data inizio, data fine, data scadenza etc...


    Spero di essere riuscito a spiegarmi.
    select max(data inizio) as dtini, max(data fine)as dtfine, max(data scadenza) as dtscad from tabella

    poi trovi il max dal recordset.

  4. #4
    eh si mi sa davvero che non mi sono spiegato

    ringrazio comunque entrambi.
    Comunque il mio problema era che io estraevo n record, ora sono circa un centinaio, ma aumenteranno man mano.

    Per ogni record estratto io ho 10 date e per ogni record io devo estrarre la data maggiore confrontandola con le altre 9, ma per ogni record, non per tutta la tabella, il MAX non mi aiuta...prima l'ho accennato perché pensavo potesse essere la soluzione. Con il MAX io ho la massima assoluta di quel genere per tutta la tabella, quindi avrò la massima data di inizio, la massima data finale etc, non la massima tra le dieci date presenti nel record.

    comunque ora che ho spiegato, spero meglio vi dico anche come ho risolto:

    codice:
    function formatta($row){
    	$date=array('DATA_INSTAURATA'=>$row['DATA_INSTAURATA'],'DATA_INVIO_ATC'=>$row['DATA_INVIO_ATC'],'DATA_RITIRO'=>$row['DATA_RITIRO'],'DATA_INOLTRO'=>$row['DATA_INOLTRO'],'DATA_NOTIFICA_COMP'=>$row['DATA_NOTIFICA_COMP'],'DATA_ATTO_BE'=>$row['DATA_ATTO_BE'],'DATA_LIQUIDATA'=>$row['DATA_LIQUIDATA'],'DATA_ARCHIVIATA'=>$row['DATA_ARCHIVIATA'],'DATA_CONFERMA'=>$row['DATA_CONFERMA'],'DATA_PRES_RIT_AB'=>$row['DATA_PRES_RIT_AB'],'DATA_PRES_RIT_DS'=>$row['DATA_PRES_RIT_DS'],'DATA_RINNOVO'=>$row['DATA_RINNOVO'],'DATA_RIPRISTINO'=>$row['DATA_RIPRISTINO']);
    	
    	$maxdate=mktime (0,0,0,0,0,0);
    	foreach($date as $key=>$value){
    		list($year,$month,$day)=explode("-",$value);
    		$date=mktime (0,0,0,$month,$day,$year);
    		if($date>$maxdate){
    			$maxdate=$date;
    			$obj=str_replace("_"," ",$key);
    			$newdate=$day."/".$month."/".$year;
    		}
    	}
    	return ucfirst(strtolower($obj)).": ".$newdate;
    }

    quindi mi sono salvato in un array le date, con un foreach l'ho fatto passare tutto e mi salvo la data maggiore.
    Magari è un pò macchinoso, ma provando sia con sort che con asort non funzionava
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.