รบกวนสอบถามค่ะทำการ update ข้อมูลแบบ multiple ไม่แน่ใจว่า code ผิดตรงไหน ไม่ขึ้น error แต่ข้อมูลไม่อัพเดทค่ะ
รบกวนสอบถามค่ะทำการ update ข้อมูลแบบ multiple ไม่แน่ใจว่า code ผิดตรงไหน ไม่ขึ้น error แต่ข้อมูลไม่อัพเดทค่ะ
รบกวนผู้รู้ช่วยหน่อยค่ะ
Code (PHP)
<!doctype html>
<html>
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>e-Project IVEB</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="script.js"></script>
<script>
</script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="script.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="alert alert-primary" role="alert" align="right">
สถาบันการอาชีวศึกษากรุงเทพมหานคร Institute of Vocational Education, Bangkok
</div>
<div class="card-header">
<h5><center>
ผลงานที่ลงทะเบียนเข้าร่วมนำเสนอในงานการประชุมทางวิชาการและนวัตกรรมเทคโนโลยีบัณฑิต ครั้งที่ 5 ประจำปีการศึกษา 2563
</center></h5>
</div>
<div class="container" style="width:1500px;">
<h2 class="text-primary">การนำเสนอภาคโปสเตอร์ (Poster Presentation) </h2>
<?php
if($_POST["submitAd"] == "true"){
include "connect.php";
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$sql3 = "UPDATE project SET award = '".$_POST["award$i"]."' WHERE idProject = '".$_POST["idProject$i"]."'";
$query3 = mysqli_query($link,$sql3) or die ("Error Query [".$strSQL."]");
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
?>
<form method="post" action="">
<table width="101%" class="table table-hover">
<thead>
<tr>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
<th scope="col"> </th>
</tr>
<tr>
<th width="92" scope="col">#</th>
<th width="152" scope="col">วิทยาลัย</th>
<th width="189" scope="col">สาขาวิชา</th>
<th width="287" scope="col">ชื่อภาษาไทย</th>
<th width="302" scope="col">ชื่อภาษาอังกฤษ</th>
<th width="215" scope="col">ผู้จัดทำ</th>
<th width="252" scope="col">idProject</th>
<th width="252" scope="col">รางวัล</th>
</tr>
</thead>
<tbody>
<?php
$idSubj = $_GET['idSubj'];
$idProtype =$_GET['idProtype'];
include "connect.php";
$sqlOral = "SELECT project.`idProject`, project.`NamePrTH`, project.`NamePrEng`, project.`filePDF`, project.`fileWord`, project.`mobile`, college.`nameEducat`, subject.`nameSubject` FROM project, college, subject WHERE project.`idProtype`='$idProtype' AND project.`idSubject` = '$idSubj' AND college.`idEducat`=project.`idED` AND subject.`idSubject`=project.`idSubject` ORDER BY subject.`idSubject`";
$objQueryOral = mysqli_query($link,$sqlOral);
$numProOral=mysqli_num_rows($objQueryOral);
$i=1;
while($objResultOral = mysqli_fetch_array($objQueryOral))
{
?>
<tr>
<th scope="row"><?php echo $i;?></th>
<td><?php echo $objResultOral["nameEducat"]; ?> </td>
<td><?php echo $objResultOral["nameSubject"]; ?> </td>
<td><?php echo $objResultOral["NamePrTH"]; ?> </td>
<td><?php echo $objResultOral["NamePrEng"]; ?></td>
<td><?php $sqlName = "SELECT GROUP_CONCAT(CONCAT(prefix, firstname, ' ' , lastname)SEPARATOR ', ') AS FullName,idProject FROM student WHERE idProject = '".$objResultOral["idProject"]."'";
$objQueryName = mysqli_query($link,$sqlName);
while($objResultName = mysqli_fetch_array($objQueryName))
$name = $objResultName["FullName"];
{echo $name;" ,";
?></td>
<td><input class="form-control" type="text" placeholder="Default input" name="idProject<?=$i; ?>" value="<?php echo $objResultOral["idProject"]; ?>"> </td>
<td>
<span class="form-group">
<select class="form-control" name="award<?=$i; ?>" id="award" style="">
<option value="No">ไม่ติดอันดับ</option>
<option value="A1">รางวัลชนะเลิศ</option>
<option value="A2">รางวัลรองชนะเลิศอันดับ 1</option>
<option value="A3">รางวัลรองชนะเลิศอันดับ 2</option>
</select>
</span>
</td>
</tr>
<?php $i++; };;} ?>
</tbody>
</table>
<input type="submit" name="submitAd" id ="submitAd" class="btn btn-warning btn-xs" value="บันทึกผล"/>
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
</form>
<h3 class="text-info"> </h3>
</div>
<div class="modal fade" id="edit_user" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content">
</div>
</div>
</div>
</body>
</html>
Tag : PHP, MySQL
Date :
2021-04-03 18:03:38
By :
siriwimon2559
View :
621
Reply :
8
echo $sql3;
ดูก่อนสั่ง query/execute ว่ามันใช่คำสั่งอัพเดทที่ถูกต้องไหม
Date :
2021-04-03 19:07:20
By :
mr.v
ลองแล้วไม่มีอะไรเกิดขึ้นเลยค่ะ
Date :
2021-04-03 19:25:02
By :
siriwimon2559
ลองแล้ว? ลองอย่างไร? เอาไปเขียนไว้ตรงไหน?
ถ้ามันไม่มีอะไรเลยก็ต้องลองตั้งแต่บรรทัดแรกโดยเอา print_r($_POST);exit(); ไปแปะแล้วรันดูว่ามันส่งอะไรมาบ้าง
คุณต้องเรียนรู้วิธีที่จะไล่ไปตามลำดับด้วย
จากจุดปัญหา ถ้าโค้ดไม่รันแสดงว่าไม่เข้าเงื่อนไข, ไม่ถูกเรียก อะไรสักอย่าง
ก็ไล่ไปวงข้างนอกไปทีละสเต็ป echo ง่ายๆดูว่ามันไปสุดแค่ตรงไหน แล้วไล่เอาเฉพาะโค้ดที่เกี่ยวข้องมาดู
Date :
2021-04-03 21:41:42
By :
mr.v
ลองปริ้นแล้วขึ้นแบบนี้คร้าบบ
Array ( [0] => A1 [1] => A2 ) Array ( [0] => 87 [1] => 93 )
Date :
2021-04-03 22:02:02
By :
่่่่jj
Notice: Undefined offset: 1 in C:\xampp\htdocs\projectpresent\Project-PosterAward-Group1.php on line 61
Notice: Undefined offset: 1 in C:\xampp\htdocs\projectpresent\Project-PosterAward-Group1.php on line 61
UPDATE project SET award = '' WHERE idProject =''
Notice: Undefined offset: 2 in C:\xampp\htdocs\projectpresent\Project-PosterAward-Group1.php on line 61
Notice: Undefined offset: 2 in C:\xampp\htdocs\projectpresent\Project-PosterAward-Group1.php on line 61
UPDATE project SET award = '' WHERE idProject =''Array ( [$i] => A3 ) Array ( [$i] => 93 )
update แค่บรรทัดสุดท้ายค่ะ
Date :
2021-04-03 23:11:43
By :
siriwimon2559
ทดสอบ หาtag body แล้วเพิ่มคำสั่งสีน้ำเงิน
<body>
<?=print_r($_POST , true)?>
ดูก็จะเข้าใจว่า มันมีอะไรมาไหม
เพราะมันไม่มีตัวแปร นี้ มันถีง error ก็ต้องเปลี่ยนวิธีตรวจเช็คใหม่
จาก
if($_POST["submitAd"] == "true"){
แก้เป็น
if( isset($_POST['submitAd'])){
ตัวแปร $_POST จะมีได้ก็ต่อเมื่อมีการ request จากการ POST เท่านั้น
ปล. ศึกษาการใช้ quote ให้มากขึ้น ใช้ให้ตรงกับความจำเป็น ช่วยลดภาระ การทำงานได้
ไอ้ที่ทำไปแล้วก็ชั่งมันเสียเวลาไปแก้ แต่ไอ้ที่เขียนใหม่เขียนให้ถูก
ประวัติการแก้ไข 2021-04-04 05:47:27 2021-04-04 05:48:03 2021-04-04 05:48:45
Date :
2021-04-04 05:44:18
By :
Chaidhanan
จขกท.ไปไหนแล้ว ทำแล้วมาบอกความคืบหน้าหน่อยเด้อ
Notice: Undefined offset นี่มันน่าจะเป็น array ที่หาค่า key ไม่เจอ ดังนั้นเอา print_r($_POST); ไว้บนสุดแล้วสั่ง exit(); ยังไม่ต้องอัพเดทอะไรทั้งนั้น แล้วเอาผลมาดูก่อนว่าฟอร์มมันส่งอะไรมา จะได้แก้ไขได้
Date :
2021-04-05 20:46:15
By :
mr.v
Load balance : Server 05