|
![](/images/resource/spacer.gif) |
|
รบกวนสอบถามเรื่อง UPDATE Array แล้วค่าไม่ลงในฐานข้อมูล ครับ |
|
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
ในคิวรี่เห็นมี AND เยอะๆ แน่ใจนะครับว่าเข้าเงื่อนไข .... AND .... AND .... ครบถ้วน!!
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 14:24:23 |
By :
apisitp |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
เปลี่ยน
if($_POST["Cle_ID".$i] != "" && $_POST["CleS_Value".$i] != "" )
เป็น
if(isset($_POST["Cle_ID".$i]) && isset($_POST["CleS_Value".$i]) )
เป็นการตรวจสอบที่ไวกว่า และชัดเจนกว่า
และการใช้ for($i=1;$i<=(int)$Cle_ID;$i++)
แน่ใจแล้วหรือว่าจะต้องให้มัน update ทุก loop
นั้นหมายถึงการ update เป็น อนุกรมก้าวหน้าเลยนะครับ
เริ่มจาก
1
1 2
1 2 3
1 2 3 4 ........
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 14:43:00 |
By :
Chaidhanan |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
ขอบคุณครับ คุณ Chaidhanan
และการใช้ for($i=1;$i<=(int)$Cle_ID;$i++)
แน่ใจแล้วหรือว่าจะต้องให้มัน update ทุก loop
ถ้าผมจะแก้ไข ควรเป็นอย่างไรครับ ขอบคุณครับ
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 15:24:08 |
By :
msookurb |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
count array
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 15:47:11 |
By :
apisitp |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
array ที่ส่งมาควรจะมี เลข id สุดท้ายมาด้วย
หรือ กำหนดให้ array เป็นแบบนี้
Array
(
[Cle_ID] => Array( 1, 2, 3, 4, 5, 6, 7, 8)
[Cle_Value] => Array( 1, 2, 3, 4, 5, 6, 7, 8)
[Stu_Code] => 2562
[Yeae_ID] => 2/2560
[Roo_ID] => 2
[Max_ID] => 8
)
Code (PHP)
$conn = mysqli_connect("$hostname","$username","$password","$database");
for($i=0;$i<(int)$_POST['Max_ID;$i++)
{
$sql = "UPDATE cleanstu
SET CleS_Value='".$_POST["Cle_Value"][$i]."'
, CleS_Date='".date("Y-m-d H:i:s")."'
, PerS_ID='".$_SESSION["PerS_ID"]."'
WHERE Stu_Code ='".$_POST["Stu_Code"]."'
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='".$_POST['Cle_ID'][$i]."'";
$conn->query($sql);
}
ตัวอย่าง html form input
Code (HTML)
<input name="Cle_ID[]" value="1"><input name="Cle_Value[]" value="1">
<input name="Cle_ID[]" value="2"><input name="Cle_Value[]" value="2">
.....
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 15:56:38 |
By :
Chaidhanan |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
ขอบคุณ คุณ Chaidhanan ครับที่แนะนำ
![from Send1 from Send1](https://www.thaicreate.com/upload/stock/20170815172207.jpg?v=1001)
ฟอร์มที่ใช้ส่งข้อมูลสำหรับการแก้ไขครับ
Code (PHP)
<?php
$linkCleC = mysqli_connect("$hostname","$username","$password","$database");
$queryCleC = "SELECT * FROM cleanstu WHERE Stu_Code = '".$_REQUEST["Stu_Code"]."' and Yeae_ID = '".$_REQUEST["Yeae_ID"]."' and Cla_ID ='".$_REQUEST["Cla_ID"]."' and Cle_ID = '".$objCleS->Cle_ID."' ";
$resultCleC = mysqli_query($linkCleC, $queryCleC);
$rowCleC = mysqli_fetch_array($resultCleC, MYSQLI_ASSOC);
?>
<tr>
<td><?=++$ob;?><input type="hidden" name="Cle_ID<?=$i;?>" value="<?=$objCleS->Cle_ID; ?>"></td>
<td><?=$objCleS->Cle_Name;?> <?=$objCleS->Cle_Detail;?></td>
<td><input name="CleS_Value<?=$i;?>" type="radio" value="1" <? if($rowCleC["CleS_Value"] == '1'){ ?>checked<? } ?>></td>
<td><input name="CleS_Value<?=$i;?>" type="radio" value="2" <? if($rowCleC["CleS_Value"] == '2'){ ?>checked<? } ?>></td>
</tr>
<?
$i++;
}mysqli_free_result($resultCleS); }
mysqli_close($linkCleS);
?>
Code Update
Code (PHP)
$conn = mysqli_connect("$hostname","$username","$password","$database");
for($i=0;$i<(int)$_POST['Max_ID;$i++)
{
// echo $_POST['Cle_ID'][$i]; ตรงนี้ค่าไม่ออกครับ ********
$sql = "UPDATE cleanstu
SET CleS_Value='".$_POST["Cle_Value"][$i]."'
, CleS_Date='".date("Y-m-d H:i:s")."'
, PerS_ID='".$_SESSION["PerS_ID"]."'
WHERE Stu_Code ='".$_POST["Stu_Code"]."'
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='".$_POST['Cle_ID'][$i]."'";
$conn->query($sql);
}
พอผม echo "<pre>", print_r($_POST, true),"</pre>"; มีค่าออกครับ
แต่ทำไมผม echo $_POST['Cle_ID'][$i]; ตรงนี้ค่าไม่ออกครับ********
|
ประวัติการแก้ไข 2017-08-15 17:24:46 2017-08-15 17:26:39
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 17:21:47 |
By :
msookurb |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
ดูตัวอย่าง html ที่ผมทำให้ดูครับ การกำหนดตัวแปร $_POST['Cle_ID'] ให้เป็น array
<input name="Cle_ID[]" value="1"><input name="Cle_Value[]" value="1">
เมื่อนำมาใช้กับ radio ต้องใส่ค่า index ให้กับ element ด้วยเพื่อความชัวร์
Code (PHP)
<td><?=++$ob?><input type="hidden" name="Cle_ID[]" value="<?=$objCleS->Cle_ID?>"></td>
<td><?=$objCleS->Cle_Name?> <?=$objCleS->Cle_Detail?></td>
<td><input name="CleS_Value[<?=$objCleS->Cle_ID?>]" type="radio" value="1" <?=($rowCleC["CleS_Value"] == '1' ? 'checked' : '')?> ></td>
<td><input name="CleS_Value[<?=$objCleS->Cle_ID?>]" type="radio" value="2" <?=($rowCleC["CleS_Value"] == '2' ? 'checked' : '')?> ></td>
เปลี่ยน คำสั่งรับจาก for( $i=.....){
เป็น
Code (PHP)
foreach($_POST['Cle_ID'] as $i=>$Cle_ID){
$sql = "UPDATE cleanstu
SET CleS_Value='".$_POST["CleS_Value"][$Cle_ID]."'
, CleS_Date='".date("Y-m-d H:i:s")."'
, PerS_ID='".$_SESSION["PerS_ID"]."'
WHERE Stu_Code ='".$_POST["Stu_Code"]."'
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='$Cle_ID' ";
$conn->query($sql);
}
|
ประวัติการแก้ไข 2017-08-15 20:34:42
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 20:34:03 |
By :
Chaidhanan |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
![](/images/resource/viewboard_01.gif?v=1001) |
|
|
![](/images/resource/viewboard_03.gif?v=1001) |
![](/images/resource/viewboard_04.gif?v=1001) |
|
ขอบคุณ คุณChaidhanan อย่างยิ่งครับ ผมหาวิธีทำมา 3 วันแล้วครับ ถึงได้โพสต์ถามในวันนี้
ขอบคุณอีกครั้งครับ![](/images/bbcode/grin.gif?v=1001) ![](/images/bbcode/grin.gif?v=1001) ![](/images/bbcode/grin.gif?v=1001)
|
![](/images/resource/blockviewtopic_01.gif?v=1001) |
![](/images/resource/blockviewtopic_02.gif?v=1001) |
![](/images/resource/blockviewtopic_03.gif?v=1001) |
![](/images/resource/blockviewtopic_04.gif?v=1001) |
Date :
2017-08-15 20:54:56 |
By :
msookurb |
|
![](/images/resource/blockviewtopic_06.gif?v=1001) |
![](/images/resource/blockviewtopic_07.gif?v=1001) |
![](/images/resource/blockviewtopic_08.gif?v=1001) |
![](/images/resource/blockviewtopic_09.gif?v=1001) |
|
|
![](/images/resource/viewboard_06.gif?v=1001) |
![](/images/resource/viewboard_07.gif?v=1001) |
|
![](/images/resource/viewboard_08.jpg?v=1001) |
![](/images/resource/viewboard_09.gif?v=1001) |
|
|
|
![](/images/digitalocean-banner.jpg)
|
Load balance : Server 00
|