Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > บันทึกวันที่ 26 ก.ย. 2564 ทำไมใน DB ลงเป็น 1632589200 ครับ



 

บันทึกวันที่ 26 ก.ย. 2564 ทำไมใน DB ลงเป็น 1632589200 ครับ

 



Topic : 136406



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์




บันทึกวันที่ 26 ก.ย. 2564 ทำไมใน phpMyAdmin ลงเป็น 1632589200 ครับ
เราจะรู้ได้อย่างไรครับว่าค่า 1632589200 นี้ ตัวไหนเป็นค่าของ วัน เดือน ปี ครับ

ปป



Tag : PHP, MySQL









ประวัติการแก้ไข
2021-09-26 09:31:29
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-09-26 09:30:02 By : ajsudkedt View : 731 Reply : 21
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


เปลี่ยน field type เป็น datetime

วันที่ เวลา ใน database มันเก็บเป็น ตัวเลข โดย 0 คือ 1970-01-01 00:00:00
0 คือ 1970-01-01 00:00:00
1 คือ 1970-01-01 00:00:01
2 คือ 1970-01-01 00:00:02

...
...
16...... คือ 2021......

ส่วนการแสดงผล ให้กำหนดด้วย field type

ปล. unixtime มีค่าเป็น วินาที








ประวัติการแก้ไข
2021-09-26 12:05:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-26 12:04:20 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
เปลี่ยน field type เป็น datetime

วันที่ เวลา ใน database มันเก็บเป็น ตัวเลข โดย 0 คือ 1970-01-01 00:00:00
0 คือ 1970-01-01 00:00:00
1 คือ 1970-01-01 00:00:01
2 คือ 1970-01-01 00:00:02

...
...
16...... คือ 2021......

ส่วนการแสดงผล ให้กำหนดด้วย field type

ปล. unixtime มีค่าเป็น วินาที


ผมเปลี่ยน field type เป็น datetime แล้วลองบันทึก
มันขึ้นเป็น
0000-00-00 00:00:00
ตามภาพ เกิดจากอะไรครับ
/ๅๅ
-/ภ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-27 05:09:46 By : ajsudkedt
 

 

No. 3



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

แสดงว่าปัญหาอยู่ที่ INPUT ครับ ลองดูว่ารับค่าอะไรมา ลอง echo ตัวแปรวันที่ออกมาดูค่าในนั้นครับ

จากนั้นก็เซ็ตค่าให้ตรง format ที่ต้องการแล้วก็เอาไปใส่ในคำสั่ง INSERT
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-27 13:52:44 By : {Cyberman}
 


 

No. 4



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Code
แสดงว่าปัญหาอยู่ที่ INPUT ครับ ลองดูว่ารับค่าอะไรมา ลอง echo ตัวแปรวันที่ออกมาดูค่าในนั้นครับ

จากนั้นก็เซ็ตค่าให้ตรง format ที่ต้องการแล้วก็เอาไปใส่ในคำสั่ง INSERT


ในไฟล์นี้ น่าจะเกี่ยวไหมครับ
หากใช่ ควรปรับคำสั่งตรงไหนไหมครับ

Code (PHP)
<?php
	include 'config1.php';
	$updateFlag = 0;
?>

<div class="container">
  <div class="row ">
    <div class="col-md-12 col-lg-12">
			<h1 class="page-header">Take Attendance</h1>
		</div>
	</div>
	<div class="row text-center">
		<div class="col-md-12 col-lg-12">
			<form action="index.php" method="get" class="form-inline" id="subjectForm" data-toggle="validator">
				<div class="form-group">
					<label for="select" class="control-label">Subject:</label>
					<?php

						$query_subject = "SELECT subject.name, subject.id from subject
						INNER JOIN user_subject WHERE user_subject.id = subject.id AND user_subject.uid = {$_SESSION['uid']}  ORDER BY subject.name";
						$sub=$conn->query($query_subject);
						$rsub=$sub->fetchAll(PDO::FETCH_ASSOC);
						echo "<select name='subject' class='form-control' required='required'>";
						for($i = 0; $i<count($rsub); $i++)
						{
							if ($_GET['subject'] == $rsub[$i]['id']) {
								echo"<option value='". $rsub[$i]['id']."' selected='selected'>".$rsub[$i]['name']."</option>";
							}
							else {
								echo"<option value='". $rsub[$i]['id']."'>".$rsub[$i]['name']."</option>";
							}
						}
						echo"</select>";
					?>
				</div>

				<div class="form-group" data-provide="datepicker">
					<label for="select" class="control-label">Date:</label>
					<input type="date" class="form-control" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>" required>
				</div>

				<button type="submit" class="btn btn-danger" style='border-radius:0%;' name="sbt_stn"><i class="glyphicon glyphicon-filter"></i> Load</button>
			</form>



			<?php
				if(isset($_GET['date']) && isset($_GET['subject'])) :
			?>

			<?php
				$todayTime = time();
				$submittedDate = strtotime($_GET['date']);
				if ($submittedDate <= $todayTime) :
			?>
			<form action="index.php" method="post">

			<div class="margin-top-bottom-medium">
				<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>
			</div>

			<table class="table table-striped table-hover">
				<thead>
					<tr>
						<th class="text-center">Student ID</th>
						<th class="text-center">Student's Name: Level: Room:  No</th>
						<th class="text-center"><input type="checkbox" class="chk-head" /> All Present</th>
					</tr>
				</thead>

				<?php
					 $dat = $_GET['date'];
					 $ddate = strtotime($dat);
					 $sub=$_GET['subject'];
					$que= "SELECT sid, aid, ispresent  from attendance  WHERE date  =$ddate
					AND id=$sub ORDER BY sid";
					$ret=$conn->query($que);
					$attData=$ret->fetchAll(PDO::FETCH_ASSOC);

					if(count($attData))
					{
						$updateFlag=1;
					}
					else{
						$updateFlag=0;

					}

					$qu = "SELECT student.sid, student.name, student.rollno from student INNER JOIN student_subject WHERE student.sid = student_subject.sid AND student_subject.id  = {$_GET['subject']}  ORDER BY student.sid";
					$stu=$conn->query($qu);
					$rstu=$stu->fetchAll(PDO::FETCH_ASSOC);


					echo"<tbody>";
					for($i = 0; $i<count($rstu); $i++)
					{
						echo"<tr>";

						if($updateFlag) {
							echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'>" ."<input type='hidden' name='att_id[]' value='" . $attData[$i]['aid'] . "'>".  "</td>";
							echo"<td>".$rstu[$i]['name']."</td>";


								if(($rstu[$i]['sid'] ==  $attData[$i]['sid']) && ($attData[$i]['ispresent']))
								{

									echo "<td><input class='chk-present' checked type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
								else
								{
									echo "<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
							}
							else {
								echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'></td>";
								echo"<td>".$rstu[$i]['name']."</td>";
								echo"<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
							}


						echo"</tr>";
					}
					echo"</tbody>";

				?>
			</table>

			<?php if($updateFlag) : ?>
				<input type="hidden" name="updateData" value="1">
			<?php else: ?>
				<input type="hidden" name="updateData" value="0">
			<?php endif; ?>

			<input type="hidden" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>">
			<input type="hidden" name="subject" value="<?php print isset($_GET['subject']) ? $_GET['subject'] : ''; ?>">
			<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>

			</form>

			<?php
				else :
			?>

			<p>&nbsp;</p>
			<div class="alert alert-dismissible alert-danger">
				<button type="button" class="close" data-dismiss="alert">×</button>
				<strong>Sorry!</strong> Attendance cannot be recorded for future dates!.
			</div>

			<?php
				endif;
			?>

			<?php endif;?>

			<?php

				if (isset($_POST['sbt_top'])) {
					if(isset($_POST['updateData']) && ($_POST['updateData'] == 1) ) {

						// prepare sql and bind parameters

							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$attt_aid =  $_POST['att_id'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
								// UPDATE `attendance` SET `ispresent` = '1' WHERE `attendance`.`aid` = 79;

									$stmtInsert = $conn->prepare("UPDATE attendance SET ispresent = :isMarked WHERE aid = :aid");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}

									$stmtInsert->bindParam(':isMarked', $p);
									$stmtInsert->bindParam(':aid', $attt_aid[$j]);
									$stmtInsert->execute();
								//echo "data upadted";
							}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';

					}
					else {

						// prepare sql and bind parameters
							$date = $_POST['date'];
						$tstamp = strtotime($date);
							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
									$stmtInsert = $conn->prepare("INSERT INTO attendance (sid, date, ispresent, uid, id)
								VALUES (:sid, :date, :ispresent, :uid, :id)");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}


									$stmtInsert->bindParam(':sid', $st_sid[$j]);
									$stmtInsert->bindParam(':date', $tstamp);
									$stmtInsert->bindParam(':ispresent', $p);
									$stmtInsert->bindParam(':uid', $uid);
									$stmtInsert->bindParam(':id', $id);
									$stmtInsert->execute();
							//	echo "data upadted".$j;
						}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';
					}
				}
			?>
		</div>
	</div>
</div>

<script>
	$('#subjectForm').validator();
</script>




ประวัติการแก้ไข
2021-09-27 20:59:05
2021-09-27 20:59:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-27 20:58:02 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 4 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-09-27 20:58:02
รายละเอียดของการตอบ ::
$tstamp = strtotime($date);
ก็คุณสั่งให้เป็น Time Stamp

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-29 09:33:53 By : Guest
 


 

No. 6



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
$tstamp = strtotime($date);
ก็คุณสั่งให้เป็น Time Stamp

คือยังไงครับ
ปัญหาตอนนี้คือทำไมคอลัมน์ date แสดงค่าเป็น 0 ตามภาพศรชี้ 2 ข้างบนครับ


ประวัติการแก้ไข
2021-09-30 14:02:18
2021-09-30 14:03:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-30 14:00:59 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 6 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-09-30 14:00:59
รายละเอียดของการตอบ ::
ModifyTable:
Code
date default NULL


บรรทัด 199:
Code (PHP)
$tstamp = NULL;
if ( ! empty($date)) {
	$tstamp = $date;
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-30 16:17:21 By : Guest
 


 

No. 8



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


ผมแก้ code ตามนี้ แต่ใน DB แสดงค่าเฉพาะปี
หากต้องการให้แสดงวันและเดือนด้วยต้องปรับ code ตรงไหน อย่างไรครับ

4324

Code (PHP)
<?php
	include 'config1.php';
	$updateFlag = 0;
?>

<div class="container">
  <div class="row ">
    <div class="col-md-12 col-lg-12">
			<h1 class="page-header">Take Attendance</h1>
		</div>
	</div>
	<div class="row text-center">
		<div class="col-md-12 col-lg-12">
			<form action="index.php" method="get" class="form-inline" id="subjectForm" data-toggle="validator">
				<div class="form-group">
					<label for="select" class="control-label">Subject:</label>
					<?php

						$query_subject = "SELECT subject.name, subject.id from subject
						INNER JOIN user_subject WHERE user_subject.id = subject.id AND user_subject.uid = {$_SESSION['uid']}  ORDER BY subject.name";
						$sub=$conn->query($query_subject);
						$rsub=$sub->fetchAll(PDO::FETCH_ASSOC);
						echo "<select name='subject' class='form-control' required='required'>";
						for($i = 0; $i<count($rsub); $i++)
						{
							if ($_GET['subject'] == $rsub[$i]['id']) {
								echo"<option value='". $rsub[$i]['id']."' selected='selected'>".$rsub[$i]['name']."</option>";
							}
							else {
								echo"<option value='". $rsub[$i]['id']."'>".$rsub[$i]['name']."</option>";
							}
						}
						echo"</select>";
					?>
				</div>

				<div class="form-group" data-provide="datepicker">
					<label for="select" class="control-label">Date:</label>
					<input type="date" class="form-control" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>" required>
				</div>

				<button type="submit" class="btn btn-danger" style='border-radius:0%;' name="sbt_stn"><i class="glyphicon glyphicon-filter"></i> Load</button>
			</form>



			<?php
				if(isset($_GET['date']) && isset($_GET['subject'])) :
			?>

			<?php
				$todayTime = time();
				$submittedDate = strtotime($_GET['date']);
				if ($submittedDate <= $todayTime) :
			?>
			<form action="index.php" method="post">

			<div class="margin-top-bottom-medium">
				<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>
			</div>

			<table class="table table-striped table-hover">
				<thead>
					<tr>
						<th class="text-center">Student ID</th>
						<th class="text-center">Student's Name: Level: Room:  No</th>
						<th class="text-center"><input type="checkbox" class="chk-head" /> All Present</th>
					</tr>
				</thead>

				<?php
					 $dat = $_GET['date'];
					 $ddate = strtotime($dat);
					 $sub=$_GET['subject'];
					$que= "SELECT sid, aid, ispresent  from attendance  WHERE date  =$ddate
					AND id=$sub ORDER BY sid";
					$ret=$conn->query($que);
					$attData=$ret->fetchAll(PDO::FETCH_ASSOC);

					if(count($attData))
					{
						$updateFlag=1;
					}
					else{
						$updateFlag=0;

					}

					$qu = "SELECT student.sid, student.name, student.rollno from student INNER JOIN student_subject WHERE student.sid = student_subject.sid AND student_subject.id  = {$_GET['subject']}  ORDER BY student.sid";
					$stu=$conn->query($qu);
					$rstu=$stu->fetchAll(PDO::FETCH_ASSOC);


					echo"<tbody>";
					for($i = 0; $i<count($rstu); $i++)
					{
						echo"<tr>";

						if($updateFlag) {
							echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'>" ."<input type='hidden' name='att_id[]' value='" . $attData[$i]['aid'] . "'>".  "</td>";
							echo"<td>".$rstu[$i]['name']."</td>";


								if(($rstu[$i]['sid'] ==  $attData[$i]['sid']) && ($attData[$i]['ispresent']))
								{

									echo "<td><input class='chk-present' checked type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
								else
								{
									echo "<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
							}
							else {
								echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'></td>";
								echo"<td>".$rstu[$i]['name']."</td>";
								echo"<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
							}


						echo"</tr>";
					}
					echo"</tbody>";

				?>
			</table>

			<?php if($updateFlag) : ?>
				<input type="hidden" name="updateData" value="1">
			<?php else: ?>
				<input type="hidden" name="updateData" value="0">
			<?php endif; ?>

			<input type="hidden" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>">
			<input type="hidden" name="subject" value="<?php print isset($_GET['subject']) ? $_GET['subject'] : ''; ?>">
			<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>

			</form>

			<?php
				else :
			?>

			<p>&nbsp;</p>
			<div class="alert alert-dismissible alert-danger">
				<button type="button" class="close" data-dismiss="alert">×</button>
				<strong>Sorry!</strong> Attendance cannot be recorded for future dates!.
			</div>

			<?php
				endif;
			?>

			<?php endif;?>

			<?php

				if (isset($_POST['sbt_top'])) {
					if(isset($_POST['updateData']) && ($_POST['updateData'] == 1) ) {

						// prepare sql and bind parameters

							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$attt_aid =  $_POST['att_id'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
								// UPDATE `attendance` SET `ispresent` = '1' WHERE `attendance`.`aid` = 79;

									$stmtInsert = $conn->prepare("UPDATE attendance SET ispresent = :isMarked WHERE aid = :aid");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}

									$stmtInsert->bindParam(':isMarked', $p);
									$stmtInsert->bindParam(':aid', $attt_aid[$j]);
									$stmtInsert->execute();
								//echo "data upadted";
							}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';

					}
					else {

						// prepare sql and bind parameters
							$date = $_POST['date'];
						//$tstamp = strtotime($date);
						$tstamp = NULL;
						if ( ! empty($date)) {
							$tstamp = $date;
						}
							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
									$stmtInsert = $conn->prepare("INSERT INTO attendance (sid, date, ispresent, uid, id)
								VALUES (:sid, :date, :ispresent, :uid, :id)");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}


									$stmtInsert->bindParam(':sid', $st_sid[$j]);
									$stmtInsert->bindParam(':date', $tstamp);
									$stmtInsert->bindParam(':ispresent', $p);
									$stmtInsert->bindParam(':uid', $uid);
									$stmtInsert->bindParam(':id', $id);
									$stmtInsert->execute();
							//	echo "data upadted".$j;
						}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';
					}
				}
			?>
		</div>
	</div>
</div>

<script>
	$('#subjectForm').validator();
</script>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-09-30 22:07:30 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 8 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-09-30 22:07:30
รายละเอียดของการตอบ ::
Code
echo $date;


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-01 07:55:11 By : Guest
 


 

No. 10



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
echo $date;

ผมใส่ คำสั่ง echo $date; แล้วลองบันทึก ยังขึ้นเฉพาะ ปี เช่นเดิมครับ

54545

Code (PHP)
<?php
	include 'config1.php';
	$updateFlag = 0;
?>

<div class="container">
  <div class="row ">
    <div class="col-md-12 col-lg-12">
			<h1 class="page-header">Take Attendance</h1>
		</div>
	</div>
	<div class="row text-center">
		<div class="col-md-12 col-lg-12">
			<form action="index.php" method="get" class="form-inline" id="subjectForm" data-toggle="validator">
				<div class="form-group">
					<label for="select" class="control-label">Subject:</label>
					<?php

						$query_subject = "SELECT subject.name, subject.id from subject
						INNER JOIN user_subject WHERE user_subject.id = subject.id AND user_subject.uid = {$_SESSION['uid']}  ORDER BY subject.name";
						$sub=$conn->query($query_subject);
						$rsub=$sub->fetchAll(PDO::FETCH_ASSOC);
						echo "<select name='subject' class='form-control' required='required'>";
						for($i = 0; $i<count($rsub); $i++)
						{
							if ($_GET['subject'] == $rsub[$i]['id']) {
								echo"<option value='". $rsub[$i]['id']."' selected='selected'>".$rsub[$i]['name']."</option>";
							}
							else {
								echo"<option value='". $rsub[$i]['id']."'>".$rsub[$i]['name']."</option>";
							}
						}
						echo"</select>";
					?>
				</div>

				<div class="form-group" data-provide="datepicker">
					<label for="select" class="control-label">Date:</label>
					<input type="date" class="form-control" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>" required>
				</div>

				<button type="submit" class="btn btn-danger" style='border-radius:0%;' name="sbt_stn"><i class="glyphicon glyphicon-filter"></i> Load</button>
			</form>



			<?php
				if(isset($_GET['date']) && isset($_GET['subject'])) :
			?>

			<?php
				$todayTime = time();
				$submittedDate = strtotime($_GET['date']);
				if ($submittedDate <= $todayTime) :
			?>
			<form action="index.php" method="post">

			<div class="margin-top-bottom-medium">
				<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>
			</div>

			<table class="table table-striped table-hover">
				<thead>
					<tr>
						<th class="text-center">Student ID</th>
						<th class="text-center">Student's Name: Level: Room:  No</th>
						<th class="text-center"><input type="checkbox" class="chk-head" /> All Present</th>
					</tr>
				</thead>

				<?php
					 $dat = $_GET['date'];
					 $ddate = strtotime($dat);
					 $sub=$_GET['subject'];
					$que= "SELECT sid, aid, ispresent  from attendance  WHERE date  =$ddate
					AND id=$sub ORDER BY sid";
					$ret=$conn->query($que);
					$attData=$ret->fetchAll(PDO::FETCH_ASSOC);

					if(count($attData))
					{
						$updateFlag=1;
					}
					else{
						$updateFlag=0;

					}

					$qu = "SELECT student.sid, student.name, student.rollno from student INNER JOIN student_subject WHERE student.sid = student_subject.sid AND student_subject.id  = {$_GET['subject']}  ORDER BY student.sid";
					$stu=$conn->query($qu);
					$rstu=$stu->fetchAll(PDO::FETCH_ASSOC);


					echo"<tbody>";
					for($i = 0; $i<count($rstu); $i++)
					{
						echo"<tr>";

						if($updateFlag) {
							echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'>" ."<input type='hidden' name='att_id[]' value='" . $attData[$i]['aid'] . "'>".  "</td>";
							echo"<td>".$rstu[$i]['name']."</td>";


								if(($rstu[$i]['sid'] ==  $attData[$i]['sid']) && ($attData[$i]['ispresent']))
								{

									echo "<td><input class='chk-present' checked type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
								else
								{
									echo "<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
								}
							}
							else {
								echo"<td>".$rstu[$i]['rollno']."<input type='hidden' name='st_sid[]' value='" . $rstu[$i]['sid'] . "'></td>";
								echo"<td>".$rstu[$i]['name']."</td>";
								echo"<td><input class='chk-present' type='checkbox' name='chbox[]' value='" . $rstu[$i]['sid'] . "'></td>";
							}


						echo"</tr>";
					}
					echo"</tbody>";

				?>
			</table>

			<?php if($updateFlag) : ?>
				<input type="hidden" name="updateData" value="1">
			<?php else: ?>
				<input type="hidden" name="updateData" value="0">
			<?php endif; ?>

			<input type="hidden" name="date" value="<?php print isset($_GET['date']) ? $_GET['date'] : ''; ?>">
			<input type="hidden" name="subject" value="<?php print isset($_GET['subject']) ? $_GET['subject'] : ''; ?>">
			<button type="submit" class="btn btn-success btn-block" style='border-radius:0%;' name="sbt_top"><i class="glyphicon glyphicon-ok-sign"></i> Save Attendance</button>

			</form>

			<?php
				else :
			?>

			<p>&nbsp;</p>
			<div class="alert alert-dismissible alert-danger">
				<button type="button" class="close" data-dismiss="alert">×</button>
				<strong>Sorry!</strong> Attendance cannot be recorded for future dates!.
			</div>

			<?php
				endif;
			?>

			<?php endif;?>

			<?php

				if (isset($_POST['sbt_top'])) {
					if(isset($_POST['updateData']) && ($_POST['updateData'] == 1) ) {

						// prepare sql and bind parameters

							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$attt_aid =  $_POST['att_id'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
								// UPDATE `attendance` SET `ispresent` = '1' WHERE `attendance`.`aid` = 79;

									$stmtInsert = $conn->prepare("UPDATE attendance SET ispresent = :isMarked WHERE aid = :aid");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}

									$stmtInsert->bindParam(':isMarked', $p);
									$stmtInsert->bindParam(':aid', $attt_aid[$j]);
									$stmtInsert->execute();
								//echo "data upadted";
							}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';

					}
					else {

						// prepare sql and bind parameters
							$date = $_POST['date'];
							echo $date;
						//$tstamp = strtotime($date);
						$tstamp = NULL;
						if ( ! empty($date)) {
							$tstamp = $date;
						}
							$id = $_POST['subject'];
							$uid = $_SESSION['uid'];
							$p = 0;
							$st_sid =  $_POST['st_sid'];
							$ispresent = array();
							if (isset($_POST['chbox'])) {
								$ispresent =  $_POST['chbox'];
							}

							for($j = 0; $j < count($st_sid); $j++)
							{
									//echo "hii";
									$stmtInsert = $conn->prepare("INSERT INTO attendance (sid, date, ispresent, uid, id)
								VALUES (:sid, :date, :ispresent, :uid, :id)");

									if (count($ispresent)) {
										$p = (in_array($st_sid[$j], $ispresent)) ? 1 : 0;
									}


									$stmtInsert->bindParam(':sid', $st_sid[$j]);
									$stmtInsert->bindParam(':date', $tstamp);
									$stmtInsert->bindParam(':ispresent', $p);
									$stmtInsert->bindParam(':uid', $uid);
									$stmtInsert->bindParam(':id', $id);
									$stmtInsert->execute();
							//	echo "data upadted".$j;
						}
						echo '<p>&nbsp;</p><div class="alert alert-dismissible alert-success">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>Well done!</strong> Attendance Recorded Successfully!.
              </div>';
					}
				}
			?>
		</div>
	</div>
</div>

<script>
	$('#subjectForm').validator();
</script>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-01 10:15:07 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 10 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-10-01 10:15:07
รายละเอียดของการตอบ ::
echo เพื่อเช็ค $date ว่ามีค่าเป็นอะไร

หลัง execute ลองเช็ค Last Query ดู
echo mysqli_info($conn);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-01 14:18:03 By : Guest
 


 

No. 12



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
echo เพื่อเช็ค $date ว่ามีค่าเป็นอะไร

หลัง execute ลองเช็ค Last Query ดู
echo mysqli_info($conn);


ผมต้องทำยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-03 15:25:16 By : ajsudkedt
 


 

No. 13



โพสกระทู้ ( 195 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-10-03 15:25:16
รายละเอียดของการตอบ ::
รูปแบบวันที่ต้องเป็น ปี-เดือน-วัน แล้วในตัวแปรวันที่มีค่ารึป่าว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-04 22:48:18 By : nongtoom
 


 

No. 14



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
รูปแบบวันที่ต้องเป็น ปี-เดือน-วัน แล้วในตัวแปรวันที่มีค่ารึป่าว

ผมมือใหม่ รบกวนช่วยแนะวิธีเพิ่มเติมด้วยครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-05 06:12:20 By : ajsudkedt
 


 

No. 15



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


ผมใส่สูตรคำนวณค่าในคอลัมน์ Date แต่ได้ค่า วันเดือนปี ที่ต่างจากค่าในคอลัมน์ timestamp
ทั้งที่วันเดือนปีที่เลือกบันทึกการเข้าชั้นเรียน (Date) เป็นวันเดียวกันกับวันที่คลิกบันทึก (timestamp) ครับ

พอจะทราบสาเหตุไหมครับว่า ทำไมค่าใน Date กับ timestamp ถึงได้วันเดือนปีที่ต่างกัน

3421
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-05 06:31:23 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 15 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-10-05 06:31:23
Code (PHP)
คุณต้องไปศึกษา Date Function ให้ครบถ้วนก่อน
echo date('Y-m-d H:i:s', 1632675600);
//2021-09-27 00:00:00


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-05 09:31:12 By : Guest
 


 

No. 17



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


หากผม export DB มาเป็น excel พอจะมีสูตรคำนวณค่าใน Date ให้เป็นค่ารูปแบบ ปี เดือน วัน ไหม ครับ
Code (PHP)
echo date('Y-m-d H:i:s', 1632675600);
//2021-09-27 00:00:00

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-05 19:07:48 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 17 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-10-05 19:07:48
รายละเอียดของการตอบ ::
ทำให้จบตั้งแต่ Query
Code (SQL)
SELECT DATE_FORMAT(FROM_UNIXTIME(1632675600), '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(FROM_UNIXTIME(1632675600), '%Y-%m-%d');
SELECT DATE_FORMAT(FROM_UNIXTIME(`field_name`), '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(FROM_UNIXTIME(`date`), '%Y-%m-%d');


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-06 09:06:50 By : Guest
 


 

No. 19



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


ต้องเอาคำสั่งนี้ไปววางที่บรรทัดไหนครับ
Code (PHP)
SELECT DATE_FORMAT(FROM_UNIXTIME(1632675600), '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(FROM_UNIXTIME(1632675600), '%Y-%m-%d');
SELECT DATE_FORMAT(FROM_UNIXTIME(`field_name`), '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(FROM_UNIXTIME(`date`), '%Y-%m-%d');

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-07 05:01:09 By : ajsudkedt
 


 
ตอบความคิดเห็นที่ : 19 เขียนโดย : ajsudkedt เมื่อวันที่ 2021-10-07 05:01:09
รายละเอียดของการตอบ ::
ตัวอย่าง Query สำหรับ convert timestamp to datetime
คุณก็ Apply กับ Query ที่แสดงข้อมูลหรือExport

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-07 08:15:14 By : Guest
 


 

No. 21



โพสกระทู้ ( 144 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
ตัวอย่าง Query สำหรับ convert timestamp to datetime
คุณก็ Apply กับ Query ที่แสดงข้อมูลหรือExport


ตัว date คือวันที่บันทึกการเข้าชั้นเรียน
ส่วนตัว timestamp คือวันที่คลิกบันทึกข้อมูล
ซึ่งทั้ง 2 ส่วน date กับ timestamp อาจเป็นคนละวันกันก็ได้ครับ
ข้อมูลที่ต้องการคือส่วนของ date คือวันที่บันทึกการเข้าชั้นเรียน ครับ

จากการคำนวณใน excel ผมสังเกตเห็นว่า
ค่าของ date กับ timestamp จะต่างกันอยู่ 1 วัน
ทั้งที่วันบันทึกการเข้าชั้นเรียน กับ วันที่คลิกบันทึกข้อมูล เป็นวันเดียวกัน
เดาว่าอาจจะมีเรื่องของ time zone ของประเทศมาเกี่ยวข้องด้วยไหมครับ
แต่ผมไม่รู้จะไปแก้ code ตรงไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-08 05:53:57 By : ajsudkedt
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : บันทึกวันที่ 26 ก.ย. 2564 ทำไมใน DB ลงเป็น 1632589200 ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่