Skip to main content

AccessTr.neT M.


Randevu Saatlerinin Dolu Boş Olarak Gösterilmesi Hakkında

Randevu Saatlerinin Dolu Boş Olarak Gösterilmesi Hakkında

Wink #1
Kolay gelsin php web programlamayı yeni kullanmaya başladım mysql sunucumuzu Access ve php web sayfası ile ortak kullanıyoruz.Sistem servis otomasyonu ile ilgili verilen servis randevularının web sayfasında o saatin dolu veya boş olduğunu görüntülenmesi üzerine aşağıdaki gibi derleme yaptım

PHP Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php 
$personel = $_SESSION['ekp'];
$count=1;
$randevuTarih=date("Y-m-d");

$sel_query="Select * from zaman ORDER BY saat ASC";
$result = mysqli_query($con,$sel_query);
while($row = mysqli_fetch_assoc($result)) { 
	  
		$sel_queryrandevu="Select * from randevuzaman WHERE ekip = $personel and tarih = $randevuTarih and saatid='".$row[saatid]."'";
		$resultrandevu = mysqli_query($con,$sel_queryrandevu);
		$row_randevu = mysqli_fetch_assoc($resultrandevu)
		

?>

  <article class="underline">
			<H1><div class="date"><?php echo $count; ?>. Randevu Saat : <span><?php $rsaat = date_create($row["saat"]);  $rsaat1 = date_format($rsaat,"H:i:s"); echo $rsaat1; ?></span></div></H1>
			<h3>Adı Soyadı : <?php echo $row_randevu ["adisoyadi"]; ?></h3>
	</article>
	
<?php 

$count++; } 
?>




ama zaman tablosundan çekilen randevu saatleri düzgün dökülülüyor randevuzaman tablosunda o saatte bulunan kayıtlar ise boş dönüyor.Yapmak istediğim zaman tablosunda bulunan ön tanımlı 07:00:00 ile 22:00:00 arasında 30 dakika aralı verilerin tamamını dökmek randevuzaman içinde bulunan ve zaman tablosundaki saatidlerine eşit olan veriyi o saatin karşısına yazdırmak boş olan saatler Null olarak dönebilir.Konu ile ilgili değerli yardımlarınızı rica ederim.

serkandiker, 06-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
Tablo ve çalışma mantığınızı bilemediğimiz için cevap vermek zor. Biraz daha detay verirseniz memnun oluruz.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
...........
#3
iki adet tablomuz var zaman
[Resim: do.php?imgf=150418548918961.bmp]
ve randevuzaman
[Resim: do.php?imgf=150418549041172.bmp]

Zaman  tablosunda bulunan saat ve kayıt tablosunda bulunan  saat join ile birleştirilerek randevuzaman sorgusunu oluşturdu.Şimdi zaman tablosunda bulunan saat dilimlerinde randevuzaman içinde tarih ekip ve saatid eşlemesi olan dilimlere kayıtID gelsin boş olan dilimler saatler yazsın kayitID Boş dönsün yapmaya çalıştığım bu ben tablo ile zaman dilimlerini alabilirim diye düşündüm ama aşağıdaki kodla saat dilimleri getirebiliyor.Yöntem çok önemli değil saat dilimleri arasında dolu olan saatler dolu boş olan saatleri boş göstermek istiyorum.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

   	$personel = $_SESSION['ekp'];
	$randevuTarih=date("Y-m-d");
	echo "$randevuTarih <br>";
	echo "$personel <br>";
	$rv='';
	
	$baslangic = "09:00:00";
	$baslangic = strtotime($baslangic);

	

	$bitis = "22:30:00";
	$bitis = strtotime($bitis);

while (intval($baslangic)<intval($bitis)){
$sel_query="Select * from kayit WHERE ekip='$personel' and tarih='$randevuTarih' and saat='".date("H:i:s",$baslangic)."'";
$result = mysqli_query($con,$sel_query);
echo mysqli_num_rows($result);
while($row = mysqli_fetch_assoc($result)) {

	echo date("H:i:s",$baslangic).'<br>';
	$baslangic = strtotime("+30 minute", $baslangic);

	}
}

?>

serkandiker, 06-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#4
İşi zorlaştırmışsınız gibi gözüküyor. İlk tablo ile ikinciyi birleştirmenize gerek olduğunu düşünmüyorum. İlk tablodaki saatleri kullanıcıya gösterin ancak ikinci tablo yani randevuzaman tablosuna Id değil tarih ve saati kaydedin. İllaki Join yapacağım derseniz şimdi Kütahya'ya yola çıkıyorum akşama ya da 1-2 gün sonraya başka bir yöntem önereceğim.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
...........
#5
Abi join kullanmamiz sart degil mesajinizi takip edecegim hayirli yolculuklar dilerim bayraminiz kutlu mubarek olsun

serkandiker, 06-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#6

PHP Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$personel = $_SESSION['ekp'];
$count=1;
$randevuTarih=date("Y-m-d");	

echo $personel."<br>";
echo $randevuTarih."<br>";

	$sel_query="Select * from randevuzaman WHERE ekip = $personel and tarih like '%$randevuTarih%'";
	$result = mysqli_query($con,$sel_query);
	while($row = mysqli_fetch_assoc($result)) {	

	$baslangic = "08:30:00";
	$baslangic = strtotime($baslangic);
	
	$bitis = "22:00:00";
	$bitis = strtotime($bitis);
    $aranan = "11:30:00";
	$aranan = strtotime($aranan);

	while (intval($baslangic)<intval($bitis)){
	
	
	
	$baslangic = strtotime("+30 minute", $baslangic);
	$rsaat = date_create($row["saat"]);  $rsaat1 = date_format($rsaat,"H:i:s");$aranan = strtotime($rsaat1);
	echo date("H:i:s",$baslangic); if($baslangic == $aranan){echo " Randevu Var";}echo "<br>";
	
	}
}
?>

Bu şekilde yapınca tabloda eşleşen kadar döngü dönüyor.Veri tabanından gelen döngüyü saatin döngüsü içine koyduğumda ilk bulduğu değer tek dönüyor.

serkandiker, 06-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da