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 > สอบถามว่า ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมู



 

สอบถามว่า ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมู

 



Topic : 135927



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



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




สอบถามว่า ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมูลเข้า Database เกิน 20 row ในวันปัจจุบันได้แล้ว ให้รอไปที่วันพรุ่งนี้ก่อน จึงจะเพิ่มข้อมูลเข้า Database ได้ครับ

Code ทั้งหมด มีดังนี้ครับ

1. index.php

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">

<style>

.hiddenscroll {
  width: 891px;
  overflow: hidden;
  display:inline-block;
}

.hiddenscroll2 {
  width: 200%;
  height: 391px;
  overflow: auto;
}

@font-face {
  font-family: THSarabun;
  src: url(thsarabunnew-webfont.woff);
}

body {
   font-family: THSarabun;
   transform: scale(1.0);
   transform-origin: 0 0;
   // add prefixed versions too.
}

.button2 {
  background-color:#4CAF50; /* Green */
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  margin: 4px 16px;
  cursor: pointer;
  font-family: THSarabun;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

</style>

</head>

<body>

<div class="hiddenscroll"><iframe src="iframe1.php" style="border:none;" class="hiddenscroll2"></iframe></div>

<form action="addedit1.php">
<input type="submit" class="button2" formaction="addedit2.php" value="เพิ่มข้อมูลคิวรับของ">

</form>

</body>
</html>


2. iframe1.php

<html>
<head>
<meta charset="UTF-8">
<style>
@font-face {
  font-family: THSarabun;
  src: url(thsarabunnew-webfont.woff);
}
body {
  background-color: LightSalmon;
     transform: scale(1.0);
   transform-origin: 0 0;
   // add prefixed versions too.
}
table.one {
    border-style: solid;
    border-width: 3px;
    border-color:#713788;
    font-family: THSarabun;
    font-size: 12px;
    background-color: lightgrey;	
	table-layout: fixed;	
	width: 49.5%;	
	word-wrap: break-word;
}
table.two {
  font-family: THSarabun;
  font-size: 18px;
}
div.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 117%;
  background-color: LightSalmon;
}
thead th {
    border-style: solid;
    border-color:#713788;	
position: sticky; 
top: 0;
background-color: lightgrey; 
}
table {
  border: none;
}
td.status {
  color: green;
}
a.edit {
  background-color:#713788;
  color: white;
  text-decoration: none;
}
</style>
</head>
<body>

<?php
	ini_set('display_errors', 1);
	error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "dbtest5";

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
			mysqli_set_charset($conn,"utf8");

	$sql = "SELECT * FROM logistic4 WHERE club='ABC' ORDER BY recievedate asc";

	$query = mysqli_query($conn,$sql);

?>

<div class="sticky">
<table class="two" border="0">
  <tr>
    <th><div align="center">ตารางทดสอบ</div></th>
  </tr>
</table>
</div>

<table class="one" id="myTable" border="1">
<thead>
  <tr>
    <th> <div align="center">วันที่</div></th>
    <th> <div align="center">สังกัด </div></th>
  </tr>
</thead>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
  <tr>
    <td><div align="center"><?php echo $result["recievedate"];?></div></td>
    <td><div align="center"><?php echo $result["club"];?></div></td>
  </tr>
<?php
}
?>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>


3. addedit2.php

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">

<link rel='stylesheet' href='css/style.css'>
<link rel="stylesheet" href="css/jquery.datetimepicker.css">
<link rel="stylesheet" href="css/decorate.css">

<style>
details[open] summary ~ * {
  animation: sweep .5s ease-in-out;
}

@keyframes sweep {
  0%    {opacity: 0; margin-left: -30px}
  100%  {opacity: 1; margin-left: 0px}
}
</style>

</head>
<body>

<center><h1>เพิ่มข้อมูล</h1></center>

  <form class="modal-content animate" action="save2.php" name="frmAdd" id="frmAdd" method="post">

    <div class="container">
	
	  <label for="recievedate"><b>วันที่ &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp </b></label><label for="club"><b>สังกัด</b></label><br>

      <input onkeydown="return false" type="text" name="recievedate" id="recievedate" autocomplete="off" style="width:170px;">

      <select id='club' name="club" style="width:100px;">
      <option value="ABC">ABC</option><br/>
      <option value="DEF">DEF</option><br/>
      <option value="GHI">GHI</option><br/>
      <option value="JKL">JKL</option><br/>
      </select>

	  <br>

      <button type="submit">ยืนยัน</button>

    </div>

  </form>

<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/modernizr.custom.95508.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/jquery.datetimepicker.full.js"></script>

<script>
	$(document).keypress(
  function(event){
    if (event.which == '13') {
      event.preventDefault();
    }
	});
</script>	  

<script type="text/javascript">   

	$(function(){

    $.datetimepicker.setLocale('th'); // ต้องกำหนดเสมอถ้าใช้ภาษาไทย และ เป็นปี พ.ศ.

    // กรณีใช้แบบ input

    $("#recievedate").datetimepicker({

        timepicker:false,

        format:'d-m-Y',  // กำหนดรูปแบบวันที่ ที่ใช้ เป็น 00-00-0000            

        lang:'th',  // ต้องกำหนดเสมอถ้าใช้ภาษาไทย และ เป็นปี พ.ศ.

        onSelectDate:function(dp,$input){

            var yearT=new Date(dp).getFullYear()-0;  

            var yearTH=yearT+543;

            var fulldate=$input.val();

            var fulldateTH=fulldate.replace(yearT,yearTH);

            $input.val(fulldateTH);

        },

    });       

    // กรณีใช้กับ input ต้องกำหนดส่วนนี้ด้วยเสมอ เพื่อปรับปีให้เป็น ค.ศ. ก่อนแสดงปฏิทิน

    $("#recievedate").on("mouseenter mouseleave",function(e){

        var dateValue=$(this).val();

        if(dateValue!=""){

                var arr_date=dateValue.split("-"); // ถ้าใช้ตัวแบ่งรูปแบบอื่น ให้เปลี่ยนเป็นตามรูปแบบนั้น

                // ในที่นี้อยู่ในรูปแบบ 00-00-0000 เป็น d-m-Y  แบ่งด่วย - ดังนั้น ตัวแปรที่เป็นปี จะอยู่ใน array

                //  ตัวที่สอง arr_date[2] โดยเริ่มนับจาก 0 

                if(e.type=="mouseenter"){

                    var yearT=arr_date[2]-543;

                }       

                if(e.type=="mouseleave"){

                    var yearT=parseInt(arr_date[2])+543;

                }   

                dateValue=dateValue.replace(arr_date[2],yearT);

                $(this).val(dateValue);                                                 

        }       

    });   

});

</script>	

<script>
          // Safari reports success of list attribute, so doing ghetto detection instead
          yepnope({

                  test : (!Modernizr.input.list || (parseInt($.browser.version) > 400)),

                  yep : [

                  '/js/jquery.relevant-dropdown.js',

                  '/js/load-fallbacks.js'

                  ]

                  });

</script>

</body>
</html>


4. save2.php

<html>
<head>
<meta charset="UTF-8" http-equiv="refresh" content="3;url=index.php">
<style>
h2.loginpopup {
  background-color: white;
  width: 400px;
  font-size: 30px;
  padding: 30px;
  margin: 30px;
}

html {
  background-color: #F2D5FF;
}
</style>
</head>
<body>
<?php
	ini_set('display_errors', 0);
	error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "dbtest5";

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
              mysqli_set_charset($conn,"utf8");

	$sql = "INSERT INTO logistic4 (recievedate, club)
		VALUES ('".$_POST["recievedate"]."','".$_POST["club"]."')";
				
	$query = mysqli_query($conn,$sql);
	
	echo "<center><h2 class='loginpopup'>เพิ่มข้อมูลแล้ว</h2></center>";

	mysqli_close($conn);
?>
</body>
</html>


5. dbtest5.sql

-- phpMyAdmin SQL Dump
-- version 4.9.0.1
-- https://www.phpmyadmin.net/
--
-- Host: sql209.byetcluster.com
-- Generation Time: Feb 21, 2021 at 12:27 AM
-- Server version: 5.6.48-88.0
-- PHP Version: 7.2.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `epiz_23386166_dbtest5`
--

-- --------------------------------------------------------

--
-- Table structure for table `logistic4`
--

CREATE TABLE `logistic4` (
  `UserID` int(255) UNSIGNED ZEROFILL NOT NULL,
  `club` longtext COLLATE utf8_unicode_ci,
  `recievedate` longtext COLLATE utf8_unicode_ci
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `logistic4`
--
ALTER TABLE `logistic4`
  ADD PRIMARY KEY (`UserID`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `logistic4`
--
ALTER TABLE `logistic4`
  MODIFY `UserID` int(255) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


6. Link โหลดไฟล์ Code ทั้งหมด ที่ใช้อธิบายเรื่อง ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมูลเข้า Database เกิน 20 row ในวันปัจจุบันได้แล้ว ให้รอไปที่วันพรุ่งนี้ก่อน จึงจะเพิ่มข้อมูลเข้า Database ได้ครับ

https://drive.google.com/file/d/16obL9kbsh3juAobnDlJnCIjVaz4taR7J/view?usp=sharing



Tag : PHP, HTML, HTML5, JavaScript, XAMPP, Windows









ประวัติการแก้ไข
2021-02-21 21:00:20
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-02-21 13:32:48 By : doanga2007 View : 713 Reply : 10
 

 

No. 1



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



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


ง่ายๆ ก็ COUNT() ข้อมูลเอาครับ
ตัวอย่าง
$sql      = " SELECT COUNT(id) as numData FROM table WHERE date = '".date('Y--m-d')."'  ";
$query = mysqli_query($conn,$sql);
$result = mysqli_fetch_array($query,MYSQLI_ASSOC);
if($result['numData'] < 20){
    //ทำการบันทึกข้อมูล
} else {
   //แสดง iframe หรือ redirect ไปหน้าแจ้งเตือนว่าเพิ่มครบ 20 ข้อมูลแล้ว
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-21 15:08:00 By : arm8957
 


 
Quote:
สอบถามว่า ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 table ต่อวัน


ตาราง (Table) มองง่ายฯ มันก็คือ Excel Sheet ประกอบด้วย
Row คือจำนวนแถว (ลงข้างล่าง)
Column คือจำนวนคอลัมภ์ (ไปทางซ้าย)

การจัดการกับข้อมูลวันละ 20 ตาราง ไม่ใช่เรื่องง่ายฯเลย
การใช้คำและเข้าใจให้ตรงกันมันคนละโยชน์ เช่น เขาขึ้น กับ ขึ้นเขา
ความหมาย แตกต่างกันลิบลับเลยนะ

แม้กระทั่งว่า ตกอักษรไปตัวหนึ่ง ความหมายก็เปลี่ยนไปทันทีทันใด เช่น
ความหมาย --> พิมพ์ตกยอยักษ์ไป (ยอยักหาย)
กฏหมาย --> พิมพ์ตกยอยักษ์ไป (ยอยักหาย)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-21 16:34:45 By : ผ่านมา
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : ผ่านมา เมื่อวันที่ 2021-02-21 16:34:45
รายละเอียดของการตอบ ::
ตรงที่ "20 table" ก่อนหน้านั้น ยังนึกคำที่เรียกตรงจำนวนแถว (ลงข้างล่าง) ว่า Row ไม่ออก ซึ่งผมแก้ไขข้อมูลจาก "20 table" เป็น "20 row" แล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-21 21:01:51 By : doanga2007
 


 
ตอบความคิดเห็นที่ : 3 เขียนโดย : doanga2007 เมื่อวันที่ 2021-02-21 21:01:51
รายละเอียดของการตอบ ::
ทุกวันนี้ มีคําศัพท์ทางเทคนิคมากมายและธุรกิจยากที่จะเข้าใจ
คุณไม่ได้ผิดหรอก มันเรื่องเล็กฯน้อยเอง
แต่เมื่อไหร่ก็ตามที่มันมีผล/ส่งผลในทางกฏหมาย เช่น สัญญารับทำ/รับจ้าง เป็นต้น
คุณ ควร ระ มัด ระ วัง ให้ ดี ดี อย่าเห็นแก่เงินจนลืมสิ่งเหล่านี้ก็แล้วกัน
เหตุผล โลกนี้ไม่สมประกอบ เพราะบางคนชอบเอาแต่ประโยชน์ส่วนตน กันทั้งนั้น



ไหนฯก็ไหนฯ ทำจริงฯไปเลย
สร้างตารางเก็บ Log ใครทำอะไรที่ไหนเมื่อไหร่อย่างไร
Table AppLog
Id ประเภท Int Auto Increment ออกโดย RDBMS
UserCode ประเภท nvarchar(100) รหัสผู้ใช้งาน
MenuCode ประเภท nvarchar(100) รหัสเมนู เช่น หน้าจอซื้อ/ขาย/อื่นฯ...
ActionCode ประเภท varchar(1) รหัสกระทำ เช่น A-เพิ่ม, E-แก้ไข, D-ลบ, etc...
Description ประเภท nvarchar(MAX) คำอธิบาย เช่น แก้ไขข้อมูล xxx อะไรก็ว่ากันไป
TDate ประเภท DateTime วันที่ทำรายการ


Code (PHP)
$sql      = " SELECT COUNT(1) as numData FROM AppLog WHERE UserCode = 'user999' AND ActionCode = 'A' AND TDate = '".date('Y--m-d')."'  ";
$query = mysqli_query($conn,$sql);
$result = mysqli_fetch_array($query,MYSQLI_ASSOC);
if($result['numData'] < 20){
    //ทำการบันทึกข้อมูล
} else {
   //แสดง iframe หรือ redirect ไปหน้าแจ้งเตือนว่าเพิ่มครบ 20 ข้อมูลแล้ว
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-22 07:02:00 By : ผ่านมา
 


 
ผมก็ไม่แตกต่างกับพวกคุณหรอก นั่นคือ ยังต้องเรียนรู้ต่อไปไม่มีวันจบสิ้น

ด้วยความสุดยอดของ React/Angular/Vue/etc... มันทำให้ผมต้องคิดหนัก ไหนฯก็ไหนฯ ทำ Binding กับ Database ตรงฯไปเลย
ท้าทายมากฯฯฯ แจ๋วแหววแจ่มแมวจริงฯ

ด้วยความสุดยอดของ Boostrap 4/5 มันมีแค่ 12 คอลัมภ์(Column) ผมทำเผื่อแม่งไปเลย 24 Column
โดยใช้ CSS Flex, Grid


คิดได้ก็ต้องทำได้ด้วย
learning_01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-02-22 07:23:02 By : ผ่านมา
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : arm8957 เมื่อวันที่ 2021-02-21 15:08:00
รายละเอียดของการตอบ ::
ขอบคุณครับ สำหรับคำแนะนำ ได้คำตอบเรียบร้อยแล้ว ตามด้านล่างครับ

Credit ที่ทำให้ได้คำตอบ มีดังนี้ครับ

https://stackoverflow.com/questions/19159037/count-all-values-that-are-greater-than-or-less-than-20-from-a-mysql-database
https://stackoverflow.com/questions/10023233/mysql-fetch-assoc-inside-if-then-statement
https://stackoverflow.com/questions/6961847/if-size-of-array-is-greater-than-1/6962258

Code ทั้งหมด มีดังนี้ครับ

1. index.php

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">

<style>

.hiddenscroll {
  width: 891px;
  overflow: hidden;
  display:inline-block;
}

.hiddenscroll2 {
  width: 200%;
  height: 391px;
  overflow: auto;
}

@font-face {
  font-family: THSarabun;
  src: url(thsarabunnew-webfont.woff);
}

body {
   font-family: THSarabun;
   transform: scale(1.0);
   transform-origin: 0 0;
   // add prefixed versions too.
}

.button2 {
  background-color:#4CAF50; /* Green */
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  margin: 4px 16px;
  cursor: pointer;
  font-family: THSarabun;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

</style>

</head>

<body>

<div class="hiddenscroll"><iframe src="iframe1.php" style="border:none;" class="hiddenscroll2"></iframe></div>

<form action="addedit1.php">
<input type="submit" class="button2" formaction="addedit2.php" value="เพิ่มข้อมูลคิวรับของ">

</form>

</body>
</html>


2. iframe1.php

<html>
<head>
<meta charset="UTF-8">
<style>
@font-face {
  font-family: THSarabun;
  src: url(thsarabunnew-webfont.woff);
}
body {
  background-color: LightSalmon;
     transform: scale(1.0);
   transform-origin: 0 0;
   // add prefixed versions too.
}
table.one {
    border-style: solid;
    border-width: 3px;
    border-color:#713788;
    font-family: THSarabun;
    font-size: 12px;
    background-color: lightgrey;	
	table-layout: fixed;	
	width: 49.5%;	
	word-wrap: break-word;
}
table.two {
  font-family: THSarabun;
  font-size: 18px;
}
div.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 117%;
  background-color: LightSalmon;
}
thead th {
    border-style: solid;
    border-color:#713788;	
position: sticky; 
top: 0;
background-color: lightgrey; 
}
table {
  border: none;
}
td.status {
  color: green;
}
a.edit {
  background-color:#713788;
  color: white;
  text-decoration: none;
}
</style>
</head>
<body>

<?php
	ini_set('display_errors', 1);
	error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "dbtest5";

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
			mysqli_set_charset($conn,"utf8");

	$sql = "SELECT * FROM logistic4 WHERE club='ABC' ORDER BY recievedate asc";

	$query = mysqli_query($conn,$sql);

?>

<div class="sticky">
<table class="two" border="0">
  <tr>
    <th><div align="center">ตารางทดสอบ</div></th>
  </tr>
</table>
</div>

<table class="one" id="myTable" border="1">
<thead>
  <tr>
    <th> <div align="center">วันที่</div></th>
    <th> <div align="center">สังกัด </div></th>
  </tr>
</thead>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
  <tr>
    <td><div align="center"><?php echo $result["recievedate"];?></div></td>
    <td><div align="center"><?php echo $result["club"];?></div></td>
  </tr>
<?php
}
?>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>


3. addedit2.php

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">

<link rel='stylesheet' href='css/style.css'>
<link rel="stylesheet" href="css/jquery.datetimepicker.css">
<link rel="stylesheet" href="css/decorate.css">

<style>
details[open] summary ~ * {
  animation: sweep .5s ease-in-out;
}

@keyframes sweep {
  0%    {opacity: 0; margin-left: -30px}
  100%  {opacity: 1; margin-left: 0px}
}
</style>

</head>
<body>

<center><h1>เพิ่มข้อมูล</h1></center>

  <form class="modal-content animate" action="save2.php" name="frmAdd" id="frmAdd" method="post">

    <div class="container">
	
	  <label for="recievedate"><b>วันที่ &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp </b></label><label for="club"><b>สังกัด</b></label><br>

      <input onkeydown="return false" type="text" name="recievedate" id="recievedate" autocomplete="off" style="width:170px;">

      <select id='club' name="club" style="width:100px;">
      <option value="ABC">ABC</option><br/>
      <option value="DEF">DEF</option><br/>
      <option value="GHI">GHI</option><br/>
      <option value="JKL">JKL</option><br/>
      </select>

	  <br>

      <button type="submit">ยืนยัน</button>

    </div>

  </form>

<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/modernizr.custom.95508.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/jquery.datetimepicker.full.js"></script>

<script>
	$(document).keypress(
  function(event){
    if (event.which == '13') {
      event.preventDefault();
    }
	});
</script>	  

<script type="text/javascript">   

	$(function(){

    $.datetimepicker.setLocale('th'); // ต้องกำหนดเสมอถ้าใช้ภาษาไทย และ เป็นปี พ.ศ.

    // กรณีใช้แบบ input

    $("#recievedate").datetimepicker({

        timepicker:false,

        format:'d-m-Y',  // กำหนดรูปแบบวันที่ ที่ใช้ เป็น 00-00-0000            

        lang:'th',  // ต้องกำหนดเสมอถ้าใช้ภาษาไทย และ เป็นปี พ.ศ.

        onSelectDate:function(dp,$input){

            var yearT=new Date(dp).getFullYear()-0;  

            var yearTH=yearT+543;

            var fulldate=$input.val();

            var fulldateTH=fulldate.replace(yearT,yearTH);

            $input.val(fulldateTH);

        },

    });       

    // กรณีใช้กับ input ต้องกำหนดส่วนนี้ด้วยเสมอ เพื่อปรับปีให้เป็น ค.ศ. ก่อนแสดงปฏิทิน

    $("#recievedate").on("mouseenter mouseleave",function(e){

        var dateValue=$(this).val();

        if(dateValue!=""){

                var arr_date=dateValue.split("-"); // ถ้าใช้ตัวแบ่งรูปแบบอื่น ให้เปลี่ยนเป็นตามรูปแบบนั้น

                // ในที่นี้อยู่ในรูปแบบ 00-00-0000 เป็น d-m-Y  แบ่งด่วย - ดังนั้น ตัวแปรที่เป็นปี จะอยู่ใน array

                //  ตัวที่สอง arr_date[2] โดยเริ่มนับจาก 0 

                if(e.type=="mouseenter"){

                    var yearT=arr_date[2]-543;

                }       

                if(e.type=="mouseleave"){

                    var yearT=parseInt(arr_date[2])+543;

                }   

                dateValue=dateValue.replace(arr_date[2],yearT);

                $(this).val(dateValue);                                                 

        }       

    });   

});

</script>	

<script>
          // Safari reports success of list attribute, so doing ghetto detection instead
          yepnope({

                  test : (!Modernizr.input.list || (parseInt($.browser.version) > 400)),

                  yep : [

                  '/js/jquery.relevant-dropdown.js',

                  '/js/load-fallbacks.js'

                  ]

                  });

</script>

</body>
</html>


4. save2.php

<html>
<head>
<meta charset="UTF-8" http-equiv="refresh" content="3;url=index.php">
<style>
h2.loginpopup {
  background-color: white;
  width: 400px;
  font-size: 30px;
  padding: 30px;
  margin: 30px;
}

html {
  background-color: #F2D5FF;
}
</style>
</head>
<body>
<?php
	ini_set('display_errors', 0);
	error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "dbtest5";
	$year=(date("Y")+543);

	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
              mysqli_set_charset($conn,"utf8");

	$sql2 = " SELECT COUNT(recievedate) as numData FROM logistic4 WHERE recievedate = '".date('d-m-').$year."' ";
	$query2 = mysqli_query($conn,$sql2);
	$result = mysqli_fetch_array($query2,MYSQLI_ASSOC);
	
	if($result['numData'] < 20){
		//ทำการบันทึกข้อมูล
		$sql = "INSERT INTO logistic4 (recievedate, club)
		VALUES ('".$_POST["recievedate"]."','".$_POST["club"]."')";	
		$query = mysqli_query($conn,$sql);
		echo "<center><h2 class='loginpopup'>เพิ่มข้อมูลแล้ว</h2></center>";
	} else {
		//แสดง iframe หรือ redirect ไปหน้าแจ้งเตือนว่าเพิ่มครบ 20 ข้อมูลแล้ว
		echo "<center><h2 class='loginpopup'>เพิ่มครบ 20 ข้อมูลแล้ว</h2></center>";
	}

	mysqli_close($conn);
?>
</body>
</html>


5. dbtest5.sql

-- phpMyAdmin SQL Dump
-- version 4.9.0.1
-- https://www.phpmyadmin.net/
--
-- Host: sql209.byetcluster.com
-- Generation Time: Feb 21, 2021 at 12:27 AM
-- Server version: 5.6.48-88.0
-- PHP Version: 7.2.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `epiz_23386166_dbtest5`
--

-- --------------------------------------------------------

--
-- Table structure for table `logistic4`
--

CREATE TABLE `logistic4` (
  `UserID` int(255) UNSIGNED ZEROFILL NOT NULL,
  `club` longtext COLLATE utf8_unicode_ci,
  `recievedate` longtext COLLATE utf8_unicode_ci
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `logistic4`
--
ALTER TABLE `logistic4`
  ADD PRIMARY KEY (`UserID`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `logistic4`
--
ALTER TABLE `logistic4`
  MODIFY `UserID` int(255) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


6. Link โหลดไฟล์ Code ทั้งหมด ที่แก้ปัญหาเรื่อง ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมูลเข้า Database เกิน 20 row ในวันปัจจุบันได้แล้ว ให้รอไปที่วันพรุ่งนี้ก่อน จึงจะเพิ่มข้อมูลเข้า Database ได้ แล้วครับ

https://drive.google.com/file/d/1qk8LlPquVDxW7ct9AL0a62-EyZ329pKq/view?usp=sharing


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-04 10:33:32 By : doanga2007
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : ผ่านมา เมื่อวันที่ 2021-02-22 07:02:00
รายละเอียดของการตอบ ::
ขอบคุณครับ สำหรับคำแนะนำเพิ่มเติม ซึ่งตอนนี้ได้คำตอบและบอกคำตอบที่ชัดเจน อยู่ที่ ความคิดเห็นที่ 6 แล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-04 10:36:42 By : doanga2007
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : ผ่านมา เมื่อวันที่ 2021-02-22 07:23:02
รายละเอียดของการตอบ ::

เรื่องนี้ ถ้าเรียนรู้ระบบ MySQL อย่างจริงจังแล้ว สามารถใช้กับ HTML + PHP Forms แบบมากกว่า 24 Column ได้จริงครับ (ซึ่งตัว MySQL เก็บข้อมูลแบบแยก Column ลงใน Database ของ MySQL แบบ Database อันเดียวจบ ได้จริงครับ)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-04 10:40:59 By : doanga2007
 


 
@doanga1

แค่คุณรู้จักคำว่า ให้อภัย คุณก็อยู่เหนือคนทั้งโลกแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-04 11:24:14 By : ผ่านมา
 


 
คอมพิวเตอร์ ก็คือ คอมพิวเตอร์ ภาษาก็คือภาษา อย่าไปยึดติดกับมัน
เก่าฯไป ใหม่ฯ มา เก่าไม่ไป ใหม่ฯ มันก็ต้องมา ปรับใช้ให้เหมาะสม

โลกมันเปลี่ยนไป เห็นฯมันทะเลาะกัน แต่จริงฯ มันไม่ได้ทะเลาะกัน อทิเช่น
FaceBook, Google, Adobe, MS, etc... แต่มันก้าวไปพร้อมฯกัน

ยกตัวอย่างจริงให้ดู SkiaSharp พัฒนาโดย Google
ภาพการใช้งานจริง ให้นึกถึงภาพ แอปเป๋าตังค์/อะไรก็ได้ที่ยืนยัน ตัวตน
Code (C#)
@page "/test/testform501"
@*@page "/test/testform501/{PageIndex:int}"*@

@*@layout MainLayout*@

@using System.ComponentModel.DataAnnotations;
@using System.Text.Json;
@using Microsoft.JSInterop
@using SkiaSharp;

@*@implements IAsyncDisposable*@

@inject IJSRuntime jsr; //JSRuntime
@inject HttpClient Http
@inject NavigationManager NavigationManager

@{
    if (imgurl == null) MakeNewImage();
}
<h1>A sample for how to show verification code and verify it.</h1>
<img style="border:solid 1px #ccc" src="@imgurl" />
<button @onclick="MakeNewImage">Renew</button>
<hr />
<div>Type the number  in  image</div>
<EditForm Model="this" OnSubmit="DoHeCheck">
    <input type="text" @bind-value="inp_code" style="padding:5px" />
    <button>Check</button>
</EditForm>

@code{
    string inp_code;
    string vericode;
    string imgurl;
    void DoHeCheck()
    {
        string msg = "You typed a wrong value";
        if (inp_code == vericode)
            msg = "Yes the number is " + vericode;
        jsr.InvokeAsync<object>("alert", msg);
    }
    void MakeNewImage()
    {
        vericode = new Random().Next(100000, 999999).ToString();
        using SkiaSharp.SKBitmap bmp = new SkiaSharp.SKBitmap(200, 80);
        using (SkiaSharp.SKCanvas canvas = new SkiaSharp.SKCanvas(bmp))
        {
            canvas.Clear(SkiaSharp.SKColors.White);
            using SkiaSharp.SKPaint skp = new SkiaSharp.SKPaint();
            skp.Color = SkiaSharp.SKColors.Red;
            skp.TextSize = 40;
            canvas.DrawText(vericode, 30, 55, skp);
            canvas.Save();
        }
        using System.IO.MemoryStream ms = new System.IO.MemoryStream();
        using SkiaSharp.SKManagedWStream ws = new SkiaSharp.SKManagedWStream(ms);
        bmp.Encode(ws, SkiaSharp.SKEncodedImageFormat.Jpeg, 100);
        imgurl = "data:image/jpeg; base64," + Convert.ToBase64String(ms.ToArray());
    }
}
<FuckerScript>
    <script>
        var JiMi = "Very Big";
        $(function() {
           alert(JiMi);
        });
    </script>
</FuckerScript>


มันก็เหมือนคนคนหนึ่ง รำพึงรำพันว่า
เราไม่รู้ว่าจะเรียกสิ่งนั้นว่าอะไร เราจึงฝืนใจเรียกมันว่า "ธรรมะ"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-04 11:30:01 By : ผ่านมา
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามว่า ต้องเขียน Code อย่างไร จึงจะทำให้รองรับเรื่อง เมื่อเพิ่มข้อมูลเข้า Database ครบ 20 row ต่อวัน ซึ่งแสดงใน frame ที่ไฟล์ iframe1.php ซึ่งอ้างอิงจากค่า recievedate ใน MySQL แล้ว ก็จะขึ้นแจ้งเตือนว่า รับข้อมูลเพิ่มไม่ได้แล้ว และไม่สามารถเพิ่มข้อมู
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่