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

    Struttura if problema con piu' variabili

    Ciao a tutti.

    Ho questo problema relativo a una struttura di un if.

    Dovrei in pratica permettere la visualizzazione di un immagine fino alla scadenza della sua data, in pratica, salvo nel db l'url dell'immagine e il relativo nome (sara' sempre GGMMAA in formato numerico).

    Per permettere la visualizzazione (o la non visualizzazione) dovrei in pratica recuperare il valore della data attuale e confrontarlo con il nome dell'immagine, se la data e' gia' passata, visualizza, altrimenti visualizza un altra immagine.

    Sto provando cosi':

    codice:
    // recupero la data dell'immagine e la scompongo in GGMMAA
    
    preg_match("/(\d{2})(\d{2})(\d{2})/",$array[data_flyer],$match);
    $coppia1 = $match[1];
    $coppia2 = $match[2];
    $coppia3 = $match[3];
    
    // recupero la data attuale e la scompongo in GGMMAA
    
    $data = date( "dmy", mktime(date("m"),date("d"),date("y")) );
    	
    preg_match("/(\d{2})(\d{2})(\d{2})(\d{2})/",$data,$match1);  // data attuale
    $coppia4 = $match1[1];
    $coppia5 = $match1[2];
    $coppia6 = $match1[3];
    $coppia7 = $match1[4];
    
    // eseguo l'if tra le coppie di valori
    
    if (($coppia1 <> $coppia4) && ($coppia2 <> $coppia5) && ($coppia3 <>  $coppia7)){ 
    
    	
    echo "scaduto";
    	
    	
    } else {
    
    echo "visualizza";
    
    }
    Non riesco a far visualizzare correttamente l'immagine.
    L' if sembra funzionare ma mi visualizza sempre scaduto...
    Ho provato a invertire anche i valori ma secondo me e' sbagliata la sintassi dell'if, in quanto non e' che sono proprio un genio in php...

    Ciao e grazie 1000
    Micky

  2. #2
    a parte che non capisco il <>,

    secondo me è un procedimento tortuoso. Ti conviene sfruttare il formato date di mysql per la data di scadenza,
    ricavi la data attuale con $data=date('Y-m-d'); e poi fai la query controllando direttamente con mysql (che è più veloce):

    select quellochevuoi from tabella where data_scadenza > '$data' and immagine='latua' ;

    se ti restituisce nullo significa che è scaduto, no?

  3. #3
    Mmmmm...Capisco..
    Ma come faccio a confrontare il valore delle variabili:

    $coppia1 = $match[1];
    $coppia2 = $match[2];
    $coppia3 = $match[3];

    e

    $coppia4 = $match1[1];
    $coppia5 = $match1[2];
    $coppia6 = $match1[3];
    $coppia7 = $match1[4];

    nella struttura dell'if ??!?!?

    E' possibile in php eseguire una struttura if di questo tipo ?

    if (($coppia1 <> $coppia4) && ($coppia2 <> $coppia5) && ($coppia3 <> $coppia7)){...

    E se e' sbagliata, dov'e' l'errore e come faccio ad ottenere quello che mi serve ??

    Ciaooo e grazie !

  4. #4
    puoi confrontare le date come numeri:
    es: 20041021 (annomesegiorno) è minore di 20041105.
    ricomponi le date così e le confronti come numeri semplici.

    Il confronto che stai tentando tu secondo me è impossibile.

  5. #5
    Ho risolto, grazie lo stesso, ho modificato cosi', si direbbe funzionare.

    codice:
    // recupero la data dell'immagine e la scompongo in GGMMAA
    
    preg_match("/(\d{2})(\d{2})(\d{2})/",$array[data_flyer],$match);
    $coppia1 = $match[1];
    $coppia2 = $match[2];
    $coppia3 = $match[3];
    
    // recupero la data attuale e la scompongo in GGMMAA
    
    $data = date( "dmy", mktime(date("m"),date("d"),date("y")) );
    	
    preg_match("/(\d{2})(\d{2})(\d{2})",$data,$match1);  // data attuale
    $coppia4 = $match1[1];
    $coppia5 = $match1[2];
    $coppia6 = $match1[3];
    
    // eseguo l'if tra le coppie di valori
    
    if (($coppia1 >= $coppia4) && ($coppia2 >= $coppia5) && ($coppia3 >= $coppia6)){
    
    	
    echo "visualizza";
    	
    	
    } else {
    
    echo "scaduto";
    
    }
    ...Errore di sintassi e di concetto (alcune funzioni in asp sono un po' differenti da php).

    Ciao e grazie
    Micky

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.