|
|
|
หัดทำระบบเช็คชื่อนักเรียนครับ ต้องการบันทึกตามที่เช็คในฟอร์มลงฐานข้อมูลครับ |
|
|
|
|
|
|
|
เอาตารางที่คุณออกแบบไว้มาดูครับ ตกหล่นตรงไหนจะช่วยเสริมให้
|
|
|
|
|
Date :
2015-10-15 20:49:06 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 บทความนี้ครับ
PHP MySQL Add/Insert Multiple Record
PHP MySQL Multiple Rows Edit/Update Record
|
|
|
|
|
Date :
2015-10-15 22:01:18 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทั้งสองท่านที่ตอบครับ เดี๋ยวจะลองศึกษาดูอีกซักตั้ง
|
|
|
|
|
Date :
2015-10-19 20:33:05 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-10-20 09:47:59 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หลายตั้งก็ได้ครับ ยิ่งศึกษามากยิ่งได้ประโยชน์
|
|
|
|
|
Date :
2015-10-20 10:03:58 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมสร้างไฟล์ให้รับค่าจากฟอร์มบนหัวกระทู้ แล้วตอนนี้อัพเดทข้อมูลตามที่เช็คได้แล้วครับ แต่มันอัพเดทให้เฉพาะแถวสุดท้าย เอา $result = mysqli_query($link,$sql); ไปใส่ในลูปก็เออเร่อ ช่วยแก้หน่อยนะครับ เหมือนใกล้จะสำเร็จแล้ว
นี่ตารางครับ
นี่โค๊ดไว้รับค่ากับแสดงผลครับ
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ระบบเช็คชื่อนักเรียน</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
th{
background-color:orange;
}
</style>
</head>
<body>
<h2 align=center>ตารางสรุปการมาเข้าเรียน ม.4/7</h2>
<hr>
<?php
$link = mysqli_connect("localhost", "root");
mysqli_set_charset($link,'utf8');
mysqli_query($link,"Use study;");
$sql = "Select * From room407;";
$result = mysqli_query($link,$sql);
echo "<table align=center>";
echo "<th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
while($data = mysqli_fetch_array($result))
{
$no = $data['no'];
$index = "q$no";
if(($_POST[$index])==1){
$sql = "UPDATE room407 SET ma = ma+1 WHERE no=$no";
}
else if(($_POST[$index])==2){
$sql = "UPDATE room407 SET kad = kad+1 WHERE no=$no";
}
else if($_POST[$index]==3){
$sql = "UPDATE room407 SET la = la+1 WHERE no=$no";
}
else if($_POST[$index]==4){
$sql = "UPDATE room407 SET kid = kid+1 WHERE no=$no";
}
echo "<tr>";
echo "<td bgcolor=lightgreen align=center>{$data['no']}</td>
<td>{$data['name']}</td>
<td align=center width=25px>{$data['ma']}</td>
<td align=center width=25px>{$data['kad']}</td>
<td align=center width=25px>{$data['la']}</td>
<td align=center width=25px>{$data['kid']}</td>";
echo "<tr>";
}
$result = mysqli_query($link,$sql);
echo "</table><br>";
echo "<form action='form.php'>
<center><input type='submit' value='กลับสู่หน้าหลัก'></center>
</form>";
mysqli_close($link);
?>
</body>
</html>
|
|
|
|
|
Date :
2015-10-25 01:16:08 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68.$result = mysqli_query($link,$sql);
ยังไงก็ต้องใส่ใน loop ใสนอก loop ก็ได้แค่ record สุดท้ายตามนั้น
form input เพิ่มในส่วนสีแดง
เพิ่ม checked กำหนดการเลือก default ไว้ที่ มา ถ้าไม่ติ๊กเลยมันจะ ไม่ส่งค่าอะไรมาเลย
ใส่ square blanket q[$no] เพื่อกำหนดเป็นตัวแปรชนิด array
ย้ายตัวปิด </tr> ไปไว้ใน loop tag จะได้สมบูรณ์
43.
Code
echo "
<tr><td bgcolor=lightblue align=center><b>$no</b>\n</td>
<td align=center><b>$name</b>\n</td>
<td align=center><Input Type=Radio Name='q[$no]' Value=1 checked></td>
<td align=center><Input Type=Radio Name='q[$no]' Value=2></td>
<td align=center><Input Type=Radio Name='q[$no]' Value=3></td>
<td align=center><Input Type=Radio Name='q[$no]' Value=4></td>
</tr>";
}
echo "<table>";
update file
27. msyqli connect แบบนี้เยิ่นเย้อใช้หลายบันทัด และแนะนำให้เปลี่ยนมาใช้ oop
Code (PHP)
$link = mysqli_connect("localhost", "root");
mysqli_set_charset($link,'utf8');
mysqli_query($link,"Use study;");
แก้เป็น
Code (PHP)
$link = new mysqli_connect("localhost", "root", "psw********", 'study' );
$link->set_charset('utf8');
เพิ่ม array = ชื่อฟีลด์ เพื่อใช้อ้างอิง เปลี่ยนจากตัวเลข เป็นชื่อฟีลด์ ทำให้เขียนได้สั้นลง
37.
Code (PHP)
$fld=array('', 'ma', 'kad','la','kid');
$result = $link->query('select .....');
while($data = $result->fetch_assoc() ){
$no = $data['no'];
$key=$fld[$_POST['q'][$no];
$data[$key]++;
$sql = 'UPDATE room407 SET '.$key.' = '.$data[$key].' WHERE no=$no";
$link->query($sql) or die( $sql . "<br>" . $link->error);
echo "
<tr>
<td bgcolor=lightgreen align=center>$no</td>
<td>{$data['name']}</td>
<td align=center width=25px>$data[ma]</td>
<td align=center width=25px>$data[kad]</td>
<td align=center width=25px>$data[la]</td>
<td align=center width=25px>$data[kid]</td>
<tr>";
}
|
ประวัติการแก้ไข 2015-10-25 05:53:23
|
|
|
|
Date :
2015-10-25 05:49:22 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันขึ้นแบบนี้ครับ ไม่รู้ผมเอาโค๊ดมาใส่ผิดรึป่าว
Parse error: syntax error, unexpected ';', expecting ']' in C:\xampp\htdocs\result.php on line 39
แล้วบันทัดที่ 36 ต้องใส่แบบนี้ใช่ไหมครับ ขออภัยครับมือใหม่จริงๆยังไม่ค่อยเข้าใจเรื่อง array
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ระบบเช็คชื่อนักเรียน</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
th{
background-color:orange;
}
</style>
</head>
<body>
<h2 align=center>ตารางสรุปการมาเข้าเรียน ม.4/7</h2>
<hr>
<?php
$link = new mysqli_connect("localhost", "root", "", 'study' );
$link->set_charset('utf8');
$sql = "Select * From room407;";
$result = mysqli_query($link,$sql);
echo "<table align=center>";
echo "<th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
$fld=array('', 'ma', 'kad','la','kid');
$result = $link->query('select ma,kad,la,kid from room407');
while($data = $result->fetch_assoc() ){
$no = $data['no'];
$key=$fld[$_POST['q'][$no];
$data[$key]++;
$sql = 'UPDATE room407 SET '.$key.' = '.$data[$key].' WHERE no=$no';
$link->query($sql) or die( $sql . "<br>" . $link->error);
echo "<tr>
<td bgcolor=lightgreen align=center>$no</td>
<td>{$data['name']}</td>
<td align=center width=25px>$data[ma]</td>
<td align=center width=25px>$data[kad]</td>
<td align=center width=25px>$data[la]</td>
<td align=center width=25px>$data[kid]</td>
</tr>";
}
echo "</table><br>";
echo "<form action='form.php'>
<center><input type='submit' value='กลับสู่หน้าหลัก'></center>
</form>";
mysqli_close($link);
?>
</body>
</html>
|
ประวัติการแก้ไข 2015-10-25 12:06:16
|
|
|
|
Date :
2015-10-25 12:04:55 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 $key=$fld[$_POST['q'][$no]];
ลืมปิด ] อะครับ ตกหล่นขออภัย
|
|
|
|
|
Date :
2015-10-25 12:26:21 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันขึ้นแบบนี้ครับ
Fatal error: Class 'mysqli_connect' not found in C:\xampp\htdocs\result.php on line 25
ผมลองเปลี่ยนบันทัดที่ 25 เป็น $link = mysqli_connect("localhost", "root", "", 'study' ); มันจะขึ้นแบบนี้อีกครับ
|
|
|
|
|
Date :
2015-10-25 12:50:35 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$link = new mysqli("localhost", "root", "", 'study' ); โทษครับ ก๊อปมาแล้วลืมลบ
|
|
|
|
|
Date :
2015-10-25 13:20:59 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังเป็นแบบนี้อยู่เลยครับ
นี่โค๊ดปัจจุบันครับ
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ระบบเช็คชื่อนักเรียน</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
th{
background-color:orange;
}
</style>
</head>
<body>
<h2 align=center>ตารางสรุปการมาเข้าเรียน ม.4/7</h2>
<hr>
<?php
$link = new mysqli("localhost", "root", "", 'study' );
$link->set_charset('utf8');
$sql = "Select * From room407;";
$result = mysqli_query($link,$sql);
echo "<table align=center>";
echo "<th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
$fld=array('', 'ma', 'kad','la','kid');
$result = $link->query('select ma,kad,la,kid from room407');
while($data = $result->fetch_assoc() ){
$no = $data['no'];
$key=$fld[$_POST['q'][$no]];
$data[$key]++;
$sql = 'UPDATE room407 SET '.$key.' = '.$data[$key].' WHERE no=$no';
$link->query($sql) or die( $sql . "<br>" . $link->error);
echo "<tr>
<td bgcolor=lightgreen align=center>$no</td>
<td>{$data['name']}</td>
<td align=center width=25px>$data[ma]</td>
<td align=center width=25px>$data[kad]</td>
<td align=center width=25px>$data[la]</td>
<td align=center width=25px>$data[kid]</td>
</tr>";
}
echo "</table><br>";
echo "<form action='form.php'>
<center><input type='submit' value='กลับสู่หน้าหลัก'></center>
</form>";
mysqli_close($link);
?>
</body>
</html>
|
|
|
|
|
Date :
2015-10-25 13:58:02 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$no = $data['no']; 'no' น่าจะเป็น 'id' หรือเปล่าครับ
|
|
|
|
|
Date :
2015-10-25 14:30:34 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฐานข้อมูลผมตั้งเป็น no อ่ะครับ
|
|
|
|
|
Date :
2015-10-25 15:23:20 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = $link->query('select no, ma,kad,la,kid from room407');
เพิ่มสีแดง ไม่เอามาด้วย แล้วมาใช้มันเนอะ
$sql = 'UPDATE room407 SET '.$key.' = '.$data[$key]." WHERE no=$no";
คนสอนก็มั่ว 5555 คีย์ผิดคีย์ถูก
|
ประวัติการแก้ไข 2015-10-25 15:33:55
|
|
|
|
Date :
2015-10-25 15:32:45 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณท่าน NewbieXYZ มากครับ ผมแก้โค๊ดเพิ่มจากที่ท่านบอกอีกนิดหน่อยจนได้แล้วครับ(อาศัยลูกมั่วเอา อิอิ)
โค๊ดไฟล์ form.php
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ระบบเช็คชื่อนักเรียน</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
th{
background-color:lightgreen;
}
</style>
</head>
<body>
<h2 align=center> ระบบเช็คชื่อนักเรียน</h2>
<hr>
<?php
$link = new mysqli("localhost", "root", "", 'study' );
$link->set_charset('utf8');
$sql = "Select * From room407;";
$result = mysqli_query($link,$sql);
?>
<Form Action="result.php" Method="Post">
<?php
echo "<table border=1px align=center>";
echo "<th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
while ($data = mysqli_fetch_array($result))
{
$no = $data['no'];
$name = $data['name'];
$choice1 = $data['ma'];
$choice2 = $data['kad'];
$choice3 = $data['la'];
$choice4 = $data['kid'];
echo "<tr>";
echo "<td bgcolor=lightblue align=center>$no</td>";
echo "<td>$name</td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=1 checked></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=2></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=3></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=4></td></tr>";
}
echo "</table>
<p><center><button type='submit' value='Submit'>บันทึกข้อมูล</button>
<button type='reset' value='Reset'>ล้างข้อมูล</button></center>
</Form>";
?>
<?php
mysqli_close($link);
?>
</body>
</html>
โค๊ดไฟล์ result.php
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ระบบเช็คชื่อนักเรียน</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
th{
background-color:orange;
}
</style>
</head>
<body>
<h2 align=center>ตารางสรุปการมาเข้าเรียน ม.4/7</h2>
<hr>
<?php
$link = new mysqli("localhost", "root", "", 'study' );
$link->set_charset('utf8');
$sql = "Select * From room407;";
$result = mysqli_query($link,$sql);
echo "<table align=center>";
echo "<th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
$fld=array('name','ma', 'kad','la','kid');
$result = $link->query('select no,name, ma,kad,la,kid from room407');
while($data = $result->fetch_assoc() ){
$no = $data['no'];
$name = $data['name'];
$key=$fld[$_POST['q'][$no]];
$data[$key]++;
$sql = 'UPDATE room407 SET '.$key.' = '.$data[$key]." WHERE no=$no";
$link->query($sql) or die( $sql . "<br>" . $link->error);
echo "<tr>
<td bgcolor=lightgreen align=center>$no</td>
<td>$name</td>
<td align=center width=25px>$data[ma]</td>
<td align=center width=25px>$data[kad]</td>
<td align=center width=25px>$data[la]</td>
<td align=center width=25px>$data[kid]</td>
</tr>";
}
echo "</table><br>";
echo "<form action='form.php'>
<center><input type='submit' value='กลับสู่หน้าหลัก'></center>
</form>";
mysqli_close($link);
?>
</body>
</html>
ผมคงต้องศึกษาอีกเยอะ
ต่อไปว่าจะลองทำหน้าล็อกอินก่อนเข้ามาเช็คชื่อดูครับ
|
|
|
|
|
Date :
2015-10-25 17:32:49 |
By :
nekolution |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สมมุติ no คือรหัสนักเรียน เเละจะเพิ่มอีก 1 คอลัมน์ เป็นการใส่เลขลำดับด้านหน้าอัตโนมัติ ต้องเพิ่มเติมโค้ดยังไงครับ
ผมลองมั่วๆเเต่ไม่รอดครับ(เพิ่มเติมตรงสีเเดงครับ) รบกวนด้วยครับ
<?php
echo "<table border=1px align=center>";
echo "<th>ลำดับ</th><th>เลขที่</th><th>ชื่อ-สกุล</th><th>มา</th><th>ขาด</th><th>ลา</th><th>กิจ</th>";
$i =0;
while ($data = mysqli_fetch_array($result))
{
$i = $i + 1;
$no = $data['no'];
$name = $data['name'];
$choice1 = $data['ma'];
$choice2 = $data['kad'];
$choice3 = $data['la'];
$choice4 = $data['kid'];
echo "<tr>";
echo "<td><?=(($e_page*$chk_page)+$i)?></td>"
echo "<td bgcolor=lightblue align=center>$no</td>";
echo "<td>$name</td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=1 checked></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=2></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=3></td>";
echo "<td align=center width=25px><Input Type=Radio Name=q[$no] Value=4></td></tr>";
}
echo "</table>
<p><center><button type='submit' value='Submit'>บันทึกข้อมูล</button>
<button type='reset' value='Reset'>ล้างข้อมูล</button></center>
</Form>";
?>
|
|
|
|
|
Date :
2017-04-17 22:18:51 |
By :
Azhary Pk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากได้ระบบตรวจสอบค่าว่างของ Radio ด้วย ทุกรายชื่อ
โดยใช้ javascript รบกวนด้วยนะครับ
|
|
|
|
|
Date :
2018-11-17 21:53:53 |
By :
ฉันชื่อบุษบา ล๊าๆๆๆๆ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอไฟล์เพื่อศึกษาต่อได้ป่าวค่ะ
|
|
|
|
|
Date :
2019-02-26 19:35:54 |
By :
fa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|