Merhaba,
kendi işim için bir rezervasyon sistemi geliştirmeye çalışıyorum ama bir noktada bilgi ve fikir noktasında kilitlenip kaldım çözüm üretemiyorum.
veritabanımda events diye bir tablom var ve burada 2 tip önceden planlanmış tur çeşidim var (tek günlük ve çok günlük olarak) bunun yanı sıra spontane olabilecek (o yüzden bu tabloya sokamıyorum) özel tur ve kiralama seçeneğim.
rezervasyon kaydını topladığım formumda
<tr>
<td><b>Tur Türü:</b> </td>
<td>
<select class="custom-select" name="tur" id="tur">
<option >Lütfen Seçin</option>
<option value="gunluk">Günlük Tur</option>
<option value="cokgunlu">Çok Günlük Tur</option>
<option value="ozeltur">Özel Tur</option>
<option value="ozeltur">Kiralama</option>
</select>
</td>
<td><b>Tur Adı:</b> </td>
<td>
<select class="custom-select" name="turadi" id="turadi">
<option >Önce Tur Türünü Seçin</option>
</select>
</td>
</tr>
şeklinde seçeneklerim var buradan biri seçildiğinde ajaxla bir sonraki seçim kutularına veritabanında olan karşılıkları geliyor
orada da kullandığım script
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">$(document).ready(function(){
$('#tur').on('change',function(){
var turID = $(this).val();
if(turID){
$.ajax({
type:'POST',
url:'ajaxRez.php',
data:'tur_id='+turID,
success:function(html){
$('#turadi').html(html);
} }); }else{
$('#turadi').html('<option value="">Önce Kategori Seçin</option>'); } }); });
</script>şeklinde ve bunun çalıştığı ajaxRez.php kodlarımda
<?php
include('config.php');
if(isset($_POST["tur_id"])){
$tur_id= $_POST['tur_id'];
$bugun = date('Y-m-d H:m:s');
if ($tur_id=="gunluk") {
$query = "SELECT * FROM events WHERE color LIKE '#0071c5' AND start >= '$bugun' ORDER BY start ASC";
}elseif ($tur_id=="cokgunlu") {
$query = "SELECT * FROM events WHERE color LIKE '#008000' OR color LIKE '#40E0D0' AND start >= '$bugun' ORDER BY start ASC"; }
elseif ($tur_id=="ozeltur") {
$query = "SELECT * FROM events WHERE color LIKE '#FFD700' AND start >= '$bugun' ORDER BY start ASC"; }
elseif ($tur_id=="kiralama") {
$query = "SELECT * FROM events WHERE color LIKE '#FF0000' AND start >= '$bugun' ORDER BY start ASC"; }
$run_query = mysqli_query($link, $query);
$count = mysqli_num_rows($run_query);
if($count > 0){
echo '<option value="">Lütfen Seçin</option>';
while($row = mysqli_fetch_array($run_query)){
$id=$row['id'];
$baslik=$row['title'];
echo "<option value='$id'>$baslik</option>"; } }else{
echo '<option value="">Aradığınız Kriterde Tur Bulunamadı</option>'; }}
?>Asıl sorun ve tıkandığım nokta burada başlıyor.
özel ve kiralamdan hiçbir zaman sonuç dönmez, keza 365 gün için bunları ben yalandan bulunsun diye doldursam yine birşey ifade etmez çünkü her turun bir başlangıç ve bitiş zamanı var. kiralamanın kaç gün yapılacağını bilemem özel turun kaç günlük olacağını bilemem vs vs
aklıma ilk gelen özel tur veya kiralama seçildiğinde bir sonraki seçim kutusu yerine başlangıç ve bitiş tarihi seçme kutusu olsa kaydet butonuna basıldığında hem 2 tane sorgu çalıştırırım diye düşündüm birincisi rezervasyon tabloma kaydeder ikinci olarak da events tabloma yeni tarihleri kaydeder. Ama buradaki sorun şu ki bunu nasıl yazarım bilgim yok. ya da aklıma gelmeyen başka bir çözüm önerisi ne olabilir?