tarih ekleme hatası

PHP Programlama dili hakkında tartışmalar, paylaşım ve yardımlaşma forumu.
Cevapla
falcon34
Kayıtlı Kullanıcı
Mesajlar: 2
Kayıt: 31.01.2023, 15:45

tarih ekleme hatası

Mesaj gönderen falcon34 »

aşağıdaki kod bloğunda gecerligun(1-9999 arası rakam) a artı olarak tbl_files tablosundaki belge_tarihi (g-a-Y) sutunundaki tarihi eklemek istiyorum. Şu anki durumda bu günün tarihine gecerligun sayısı kadar ekleme yapıyor.

$statement = $this->dbh->prepare("SELECT gecerli_gun FROM tbl_categories WHERE id = :id");
$statement->bindParam(':id', $kategoriId, PDO::PARAM_INT);
$statement->execute();

$gecerligun = 0;


$row = $statement->fetch() ;
$gecerligun = $row['gecerli_gun'];

if ($gecerliyil > 0){
$date1=date_create(date("d-m-Y"));
date_add($date1,date_interval_create_from_date_string($gecerligun . " days"));
$result_str = $date1->format('d-m-Y');
$data["expiry_date"] = $result_str;
falcon34
Kayıtlı Kullanıcı
Mesajlar: 2
Kayıt: 31.01.2023, 15:45

Re: tarih ekleme hatası

Mesaj gönderen falcon34 »

Yok mudur yardımcı olacak kimse??
alexm3912
Kayıtlı Kullanıcı
Mesajlar: 1
Kayıt: 23.12.2023, 19:42

Re: tarih ekleme hatası

Mesaj gönderen alexm3912 »

Anladığım kadarıyla, şu anda kodunuz geçerlilik gün sayısını bugünün tarihine ekleyerek bir sonuç üretiyor. Ancak, isteğiniz tbl_files tablosundaki belge_tarihi sütunundan alınan bir tarihe bu geçerlilik gün sayısını eklemek. Bu işlem için kodunuzu aşağıdaki şekilde güncellemeniz gerek:Öncelikle tbl_files tablosundan ilgili belge_tarihi sütunundaki tarihi çekecek bir SQL sorgusu yazmanız gerekecek.Bu tarihi PHP'de bir DateTime objesine dönüştürmelisiniz.Sonra, bu tarihe geçerlilik gün sayısını eklemelisiniz.A printable sheet refers to a document or file designed to be printed on a physical sheet of paper. These sheets can vary widely in content and purpose, and they are often available in formats such as PDF, Word, or image files that are suitable for printing.A silent auction bid sheet is a crucial component of any silent auction event. It serves as a platform for bidders to place their bids and keep track of the current bid price.

Ornek olarak:

$kategoriId = // Kategori ID'niz buraya gelecek

// Kategori tablosundan geçerlilik gününü çek
$statement = $this->dbh->prepare("SELECT gecerli_gun FROM tbl_categories WHERE id = :id");
$statement->bindParam(':id', $kategoriId, PDO::PARAM_INT);
$statement->execute();
$row = $statement->fetch();
$gecerligun = $row['gecerli_gun'];

// Files tablosundan belge tarihini çek
$statement = $this->dbh->prepare("SELECT belge_tarihi FROM tbl_files WHERE kategori_id = :kategori_id");
$statement->bindParam(':kategori_id', $kategoriId, PDO::PARAM_INT);
$statement->execute();
$row = $statement->fetch();
$belge_tarihi = $row['belge_tarihi'];

// Tarihi DateTime objesine dönüştür ve geçerlilik gününü ekle
$date = DateTime::createFromFormat('d-m-Y', $belge_tarihi);
$date->modify("+$gecerligun days");

// Formatlanmış sonucu al
$result_str = $date->format('d-m-Y');
$data["expiry_date"] = $result_str;

Bu kod, önce geçerlilik gününü kategori tablosundan alır, sonra belge tarihini dosya tablosundan çeker. Belge tarihini bir DateTime objesine dönüştürdükten sonra, üzerine geçerlilik gün sayısını ekler ve sonucu formatlayarak döndürür.
Cevapla

“PHP” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 7 misafir