PHP | MySQL Zaman Ayarlı İşlem Yaptırma

Merhaba arkadaşlar.
MySQL'e girilen zaman ile sistem zamanı eşitlendiğinde mysql işlemleri yapılabilir mi?
Örneğin mysql'e girilen zaman 03.02.2016 10:30 olsun. Sistem saat ve tarihi myqsl'e girilen tarihe geldiğinde tablodaki üyelerin sitede listemesi yapılsın. Bu mümkün mü, nasıl yapılır?

Yapacağın işlemin sql sorgusu şu şekilde olmalı

SELECT * FROM uyeler WHERE tarih >= NOW()

 

Muhammet hocam yapamadım. Bir bakar mısınız?
 

ayar.php

<?php
	## Hataları Gizle ##
	error_reporting(1);

	## Host Bilgileri ##
	$host		= "localhost";
	$user		= "root";
	$password 	= "";
	$database	= "uyetarih";

	## Mysql Bağlantısı ##
	$baglan = mysql_connect($host, $user, $password) or die ("Mysql Bağlantısı Sağlanamadı!<br>".mysql_error());

	## Veritabanı Seçimi ##
	$sec 	= mysql_select_db($database, $baglan) or die ("Veritabanı Bağlantısı Sağlanamadı!<br>".mysql_error());

	## Karakter Seti ##
	mysql_query("SET CHARACTER SET utf8");
	mysql_query("SET NAMES utf8");
	mysql_set_charset("utf8", $baglan);
?>

index.php

<?php
include("ayar.php");

$cek = mysql_query("SELECT * FROM uyeler WHERE tarih >= NOW()");
echo '<table> 
			<tr>
				<td>Üye ID</td><td>Adi</td><td>Tarih</td>
			</tr>';
while($yaz = mysql_fetch_array($cek)){
	echo '<tr>
	<td>'.$yaz["id"].'</td>
	<td>'.$yaz["adi"].'</td>
	<td>'.$yaz["tarih"].'</td>
	</tr>';
}
echo '</table>';
?>

 

Öncelikle tarih çekerken saatin doğru olması için şu kodu sayfaya eklemeyi unutmayın.

date_default_timezone_set('Europe/Istanbul');

Şu anki tarihi alıyoruz

$time = date("Y-m-d H:i:s");

SQL sorugusunu şu şekilde düzenleyelim

SELECT * FROM uyeler WHERE tarih <= '$time'

Veritabanında tarih kısmı timestap olmalı unutmayın..

Teşekkürler.

- Listeleme zamanı geldiğinde sayfa yenilenmesini nasıl yapabilirim?

- Diyelim ki 30 dakika sonra artık üyeler listelenmesin istiyorum. Bunun için veritabanına bitis diye sütun ekledim. Artık listelemenin son bulması için sorgusu nasıl olmalı?

- Bu işlemleri ekleme işlemindede kullanabilir miyiz, sorguda nasıl bir değişiklik yapmalıyım?
Ekleme için aşağıdaki gibi yaptım ama olmadı.

ekle.php

<?php
include("ayar.php");

date_default_timezone_set('Europe/Istanbul');

$time = date("Y-m-d H:i:s");

$cek = mysql_query("SELECT * FROM uyeler");
$yaz = mysql_fetch_array($cek);

$esitle = $yaz["tarih"] == $time;

if($esitle){

  $uye_adi	= "Bu bir deneme eklemedir";
  $ekle= mysql_query("INSERT INTO uyeler SET adi = '".$uye_adi."'");

	if($ekle){
		echo "Veriler Başarıyla Eklendi.";
		header("Refresh:2; url=index.php");
	}else{
		echo "Ekleme Başarısız!";
		header("Refresh:2; url=index.php");
	}
}else{
  echo "Zamanı gelmedi";
}

?>

 

Ajax konusunu araştırmanı öneririm sanırım ihtiyacın olan şey tam olarak bu. Sitenin arama barından ajax - php ajax gibi kelimelerle ihtiyacın olan dersleri bulabilirsin 

bkz: http://www.sanalkurs.net/ajax-temelleri-7602.html

bkz: http://www.sanalkurs.net/jquery-ajax-ve-php-kullanarak-en-basit-veri-cekme-9960.html

 

Teşekkür ederim.

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git