Menempatkan query update data pada perulangan (for) php

Siang semua, saya ada skrip perulangan membaca tanggal pada database dan mencocokkan tanggal tersebut dengan tanggal input awal dan akhir. Skripnya sebagai berikut :

<?php
$mulai = $_POST['mulai']; //dari input
$akhir = $_POST['akhir']; //dari input

$d1 = date_create($mulai);
$d2 = date_create($akhir);
$diff = date_diff($d1, $d2);
$days = (int)$diff->format('%a');
for($i=0;$i<=$days;$i++)
	{
	$tgl = date("Y-m-d", strtotime("$mulai +$i day"));
	$query = "SELECT GROUP_CONCAT(nama SEPARATOR ', '),COUNT(1) FROM contoh WHERE '$tgl' BETWEEN mulai AND akhir";
	$result = mysqli_query($connect, $query);
	list($nama,$jml) = mysqli_fetch_row($result);
	mysqli_free_result($result);
   	if($jml >= 2)
		{
		?>
			<script type="text/javascript">
    			alert("<?php echo "Tanggal $tgl dengan nama $nama udah full!!!"; ?>");
  			</script>
		<?php
   		}
   }
   echo "<script>alert('Coba lagi dooong...')
		location.replace('form.php')</script>";
?>

Inti dari alurnya gini, misal ada tanggal 2017-07-01 sampai 2017-07-10 nah tanggal 04 sampai tanggal 07 dah full saya batesin 2 user kayak if di skrip di atas : a. kalo saya input tanggal 04 sampe tanggal 07 alert muncul kasih tau tanggal itu dah penuh kemudian menuju ke alert coba lagi b. kalo saya input tanggal 01 sampe tanggal 05 alert muncul kasih tau tanggal 04 dan tanggal 05 itu dah penuh kemudian menuju ke alert coba lagi c. kalo saya input tanggal 06 sampe tanggal 09 alert muncul kasih tau tanggal 06 dan tanggal 07 itu dah penuh kemudian menuju ke alert coba lagi d. kalo saya input tanggal 08 sampe tanggal 10 tanggal kosong dan menuju ke query update dan href

nah yang jadi pertanyaan saya, untuk opsi d, dimana saya nempatin query update sama href-nya ya? terima kasih.

avatar woles010813
@woles010813

8 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

3 Jawaban:

apa yang mau diupdate, dan href yang mau ditulis, buat apa? masih bingung :D

avatar CodenameJR
@CodenameJR

278 Kontribusi 107 Poin

Dipost 7 tahun yang lalu

yang mau diupdate itu tanggal mulai dan tanggal akhir yang diinput (ini misal aplikasi cuti) kode lengkap kalo sama query updatenya kek gini :

<?php
$mulai = $_POST['mulai']; //dari input
$akhir = $_POST['akhir']; //dari input

$d1 = date_create($mulai);
$d2 = date_create($akhir);
$diff = date_diff($d1, $d2);
$days = (int)$diff->format('%a');
for($i=0;$i<=$days;$i++)
	{
	$tgl = date("Y-m-d", strtotime("$mulai +$i day"));
	$query = "SELECT GROUP_CONCAT(nama SEPARATOR ', '),COUNT(1) FROM contoh WHERE '$tgl' BETWEEN mulai AND akhir";
	$result = mysqli_query($connect, $query);
	list($nama,$jml) = mysqli_fetch_row($result);
	mysqli_free_result($result);
   	if($jml >= 2)
		{
		?>
			<script type="text/javascript">
    			alert("<?php echo "Tanggal $tgl dengan nama $nama udah full!!!"; ?>");
  			</script>
		<?php
   		}
	else
                {
                $query="UPDATE contoh SET mulai = '$mulai', akhir = '$akhir' WHERE no = '$no'" ;
		$hasil = mysqli_query($connect, $query);
 		if($hasil)
		    {
		    header("location:update.php");
		    }
		else
		    {
		    echo"Data Gagal Diinput";
		    }
                }
   }
   echo "<script>alert('Coba lagi dooong...')
		location.replace('form.php')</script>";
?>

nah saya mau update tanggal yang masih kosong mas bro, tanggal yang belom di isi sama user lain kalo pake skrip yang lengkap ini opsinya jadi :

a. kalo saya input tanggal 04 sampe tanggal 07 alert muncul kasih tau tanggal itu dah penuh kemudian menuju ke alert coba lagi b. kalo saya input tanggal 01 sampe tanggal 05 alert gak muncul kasih tau tanggal 04 dan tanggal 05 itu dah penuh kemudian menuju ke query update c. kalo saya input tanggal 06 sampe tanggal 09 alert gak muncul kasih tau tanggal 06 dan tanggal 07 itu dah penuh kemudian menuju ke query update d. kalo saya input tanggal 08 sampe tanggal 10 tanggal kosong dan menuju ke query update dan href

nah yang seharusnya berfungsi kayak gini mas bro : a. kalo saya input tanggal 04 sampe tanggal 07 alert muncul kasih tau tanggal itu dah penuh kemudian menuju ke alert coba lagi b. kalo saya input tanggal 01 sampe tanggal 05 alert muncul kasih tau tanggal 04 dan tanggal 05 itu dah penuh kemudian menuju ke alert coba lagi c. kalo saya input tanggal 06 sampe tanggal 09 alert muncul kasih tau tanggal 06 dan tanggal 07 itu dah penuh kemudian menuju ke alert coba lagi d. kalo saya input tanggal 08 sampe tanggal 10 tanggal kosong dan menuju ke query update dan href

cuma saya bingung saya utak atik gak berhasil dapet fungsinya.. terima kasih atas jawabannya..

avatar woles010813
@woles010813

8 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

up..up..up..

avatar woles010813
@woles010813

8 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban