Pagina 1 din 1

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de andras
Salut,
Am o variabila tip data (vine ca POST din element type="date") si are valoarea (exemplu)

Cod: Selectaţi tot

$v2= '2016-04-02';
Cind vreau sa scad o zi cu intructiunea :

Cod: Selectaţi tot

$v3= date('Y-m-d', strtotime($v2. ' - 1 day'));
imi afiseaza 1970-01-01 si nu '2016-04-01' cum ar fi normal. Care sa fie cauza? Multumesc.

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de MarPlo
Salut,
La mine a functionat corect acest exemplu (poate problema e de la altceva legat de datele primite):

Cod: Selectaţi tot

$v2 ='2016-04-02';
$v3 = date('Y-m-d', strtotime ($v2 .'- 1 day'));
echo $v3; // 2016-04-01

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de andras
Acum am reusit, eu preluam din POST cu instructiunea

Cod: Selectaţi tot

$v2 = "'".trim($_POST[$value])."'"; // afiseaza  '2016-04-02'
- deci puneam ghilimele la POST. Am sters ghilimelele si acum functioneaza. Totusi, n-ar fi trebuit ca variabila sa fie recunoscuta si cu ghilimele? Aici nu inteleg, daca PHP coverteste automat, de ce nu o face si aici? Am mai intilnit astfel de situatii si inca n-am o explicatie.

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de MarPlo
Nu inteleg de unde aceasta practica cu Extra ghilimele adaugate la capetele unui sir. Isi are rostul foarte rar, atunci cand vrei sa transformi un numar in sir.
Explicatia de ce nu functiona reiese din acest exemplu:

Cod: Selectaţi tot

$v1 ='2016-04-02';
echo $v1; // 2016-04-02 (output doar valoarea, fara ghilimele)

$v2 = "'". $v1 ."'";
echo $v2; // '2016-04-02' (output cu ghilimele, valoarea contine si ghilimele)

$v3 ="'2016-04-02'"; // '2016-04-02' (e la fel ca $v2) 

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de andras
Am pus extraghilimele pentru ca nu-mi recunostea variabilele POST cind aveam INSERT sau UPDATE, unele erau recunoscute altele nu, dupa ce am pus extraghilimele le-a recunoscut pe toate. Nici acum nu-mi face INSERT decit daca pun extraghilimele la cimpul tip DATE:

Cod: Selectaţi tot

$re="INSERT INTO `user_sal` (`iduser`, `salar`, `datasal`, `datasalv`, `userid`) 
VALUES (".$id.", ".$v1.", ".$v2.",".$v3.",".$userid." )"; //nu face INSERT -$v2 si $v3 sint tip data
$re="INSERT INTO `user_sal` (`iduser`, `salar`, `datasal`, `datasalv`, `userid`) 
VALUES (".$id.", ".$v1.", '".$v2."','".$v3."',".$userid." )"; //functioneaza -$v2 si $v3 sint tip data

scadere o zi la o variabila tip data

Scris: Lun Apr 18, 2016
de MarPlo
Ai dreptate, la adaugare valoare tip sir in baza de date se adauga sirul intre ghilimele, si e bine sa fie adaugate direct in instructiunea SQL.