Comparare due date

giusalvo

Nuovo Utente
14 Ago 2012
25
1
3
MS
Saluti a tutti,
cercando qualcosa che mi potesse aiutare nel lavoro che dovevo fare, ho trovato nel Vostro sito nella sezione "Didattica" un articolo che pensavo facesse al mio caso;
(https://www.mrw.it/php/articoli/differenza-date-php-creiamo-funzione-datediff_1121.html).

Ho provato ad adattarlo al mio codice ma mi da parecchi errori, probabilmente non riesco ad associare in modo corretto i campi.

Non sto a postare il codice della funzione del link di sopra.
Il problema è questo: un interrogazione al DB dovrebbe controllare se dalla data di arrivo dell'articolo aggiungendo gli anni di garanzia è maggiore della data odierna.
Se si la variabile $gar deve darmi "in garanzia" altrimenti " garanzia scaduta" invece mi da sempre la seconda opzione.

Ecco il mio codice:

PHP:
....
$sqlp = "SELECT * FROM print_assegnate WHERE ilmodello=$qmod ORDER BY dataarrivo DESC LIMIT $primo, $per_page";
$resultp = mysql_query($sqlp);

while ($row = mysql_fetch_array($resultp)){
$arrivo = $row ['dataarrivo'];
$ufficio = $row['ufficio'];
$quanti = $row['quanti'];
$garanzia = $row['garanzia'];
prendi_ufficio();

$adesso = strtotime("now");
$arr = strtotime($arrivo); /*data di arrivo delle stampanti*/
$scadenza = date('d m Y', strtotime("$arrivo +$garanzia year")); /* calcolo del periodo di garanzia*/
echo $scadenza ; /* se faccio visualizzare il risultato, questo è corretto. Ma poi non riesco a fargli fare il calcolo*/



if ($scadenza =< $adesso){
  $gar = "garanzia scaduta";
}else {
$gar = "in garanzia";
} 
?>
<td bgcolor="#FFFFFF" width="100"><?php /*echo $gar; */?></td>
<td bgcolor="#FFFFFF" width="100"><?php echo date('d-m-Y',strtotime("$arrivo")); ?></td>
...

Grazie in anticipo a chi può darmi una mano.
Saluti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
metti var_dump per vedere come sono i formati delle date
PHP:
<?php
//.....
echo $scadenza ; /* se faccio visualizzare il risultato, questo è corretto. Ma poi non riesco a fargli fare il calcolo*/
var_dump($scadenza);
var_dump($adesso);
if ($scadenza =< $adesso){
//.....
?>
poi una domanda: come sono formattate le due date? se sono in formato italiano l'errore può essere li
es (il separatore non ha importanza se uguale in entrambe)
scadenza = 10/04/2013
adesso = 21/08/2012
scadenza è guardando "maggiore" di adesso, ma gli script sono stupidi per loro quello che scrivi è una stringa e nel confronto 10 è minore di 21 quindi scadenza risulta minore di adesso

per avere il confronto delle stringe le date devono essere formattate Y/m/d
scadenza = 2013/04/10
adesso = 2012/08/21
in questo caso il confronto viene giusto
 

giusalvo

Nuovo Utente
14 Ago 2012
25
1
3
MS
ciao
metti var_dump per vedere come sono i formati delle date
PHP:
<?php
//.....
echo $scadenza ; /* se faccio visualizzare il risultato, questo è corretto. Ma poi non riesco a fargli fare il calcolo*/
var_dump($scadenza);
var_dump($adesso);
if ($scadenza =< $adesso){
//.....
?>

in effetti erano sballate!

per avere il confronto delle stringe le date devono essere formattate Y/m/d
scadenza = 2013/04/10
adesso = 2012/08/21
in questo caso il confronto viene giusto


PHP:
$adesso = date('Y/m/d', strtotime("now"));
$arr = strtotime($arrivo);
$scadenza = date('Y/m/d', strtotime("$arrivo +$garanzia year"));


if ($scadenza <= $adesso){
  $gar = "garanzia scaduta";
}else {
 $gar = "in garanzia";
 }
...
La formattazione era sballata in effetti e ho risolto così. Ora si che funziona!
Grazie ancora borgo italia!
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [Problema] Comparare stringhe Sviluppo app per Android 0
M Comparare se un campo testuale è contenuto in un altro in una query MySQL 0
max75 query su due tabelle e dati doppioni MS Access 2
T come ordinare dei record recuperati da due tabelle MySQL 0
K Mettere insieme due funzioni Javascript 2
C Autenticazione a due fattori FB Social Media Marketing 0
A Visualizzazione due tabelle PHP 1
T Query su due tabelle con totali Database 4
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
P inserire due voci in un titolo post wp WordPress 1
J Scrivere in due JPanel Java 1
F confrontare due stringhe "numeriche" PHP 7
M Aggiornare stesso campo in due tabelle PHP 0
M Collegare due segmenti di rete diversi Reti LAN e Wireless 0
M Aggiornare simultaneamente i campi di due tabelle collegate con id PHP 4
Tommy03 Unire dati da due tabelle MySQL 5
A Cercare un carattere uguale in due stringhe Java 5
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
S [PHP] Confrontare due array con valori quasi uguali PHP 2
G Mi hanno fatto due preventivi per telecamere abitazione IP Cam e Videosorveglianza 8
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
Tommy03 Due menù nella stessa app Sviluppo app per Android 0
I [PHP] generazione url "uguale" che punta a due immagini diverse PHP 0
felino Bootstrap alert: usare lo stesso div per due messaggi consecutivi jQuery 1
G Condividere 1 cartella in rete due computer windows 10 Reti LAN e Wireless 0
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
N due siti web sullo stesso spazio hosting Hosting 0
S [PHP] come esportare due tabelle in file excel su due fogli distinti PHP 8
maxnegri Conoscere giorni della settimana fra due date con php PHP 2
felino EXCEL: verifica dati mancanti tra due sheet Windows e Software 2
I Allineare due righe di testo in photoshop Photoshop 2
Monital funzione php si ripete due volte PHP 6
A [Javascript] Multi input su due tabelle correlate Javascript 1
felino Windows 8.1: installare sistema operativo e programmi in due hard disk diversi Windows e Software 4
M [PHP] Sommare due campi calcolati PHP 3
K [PHP] Controllare dati database tra due valori PHP 18
F [Photoshop] sovrapporre due immagini usando funzione batch Photoshop 0
A Php mail non invia due mail di seguito PHP 3
M [VENDO] Due Account Instagram [21k] [3k] Annunci servizi di Social Media Marketing 5
T Artisti: Uno o due profili Instagram? Social Media Marketing 2
bianca_dimulescu [Javascript] Disabilitare due bottoni di submit in base al radiobutton selezionato Javascript 1
I database mysql estrarre due tabelle Database 2
otto9due Chiamata ajax su due url è possibile? Ajax 0
paloppa Div che appare appena due form sono compilati jQuery 16
P impostare due Vlan su router - dhcp su seconda sottorete e statico su prima Reti LAN e Wireless 0
S rete cablata in cat7 tra due router Reti LAN e Wireless 0
M [Javascript] Spiegazioni di due funzioni Javascript 10
Emix [PHP] Ricerca e modifica su due tabelle PHP 26

Discussioni simili