|
|
|
ส่งค่า checkbox array ร่วมกับ textbox array แล้วค่าไม่ตรงกัน รบกวนแนะนำหน่อยนะคะ |
|
|
|
|
|
|
|
เท่าที่อ่านดูจากโค้ดผมเห็นมีแปลกๆอยู่ที่เดียว
for ($i=0; $i<count($checkGE); $i++)
แก้ไขจากข้างบนให้เป็น
for ($i=0; $i<count($_POST['checkGE']); $i++)
นอกนั้นก็ดูปกติดีครับ
Code (PHP)
for ($i=0; $i<count($_POST['checkGE']); $i++)
{
if($_POST['checkGE'][$i] != '')
{
if($_POST['txtamount'][$i] != '')
{
$unit=$_POST['txtamount'][$i];
}
else
{
$unit='0';
}
$queryE = "insert into equip_room (equip_id,room_id,amount) values ('".$_POST['checkGE'][$i]."','$room_id','$unit')";
echo $objQuery."<br />";
$objQuery = mysql_query($queryE) or die(mysql_error());
}
}
|
ประวัติการแก้ไข 2012-02-22 15:42:31
|
|
|
|
Date :
2012-02-22 15:41:38 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช้
Code (PHP)
while($rs = mysql_fetch_array($query)){
แทน
Code (PHP)
$num=mysql_num_rows($qrr);
for($i=0;$i<$num;$i++){
ละครับ
แล้วเพิ่ม index ของ array ไปเลยที่ name ของ checkbox กับ textbox
โดยที่ index นั้นเป็น equip_id ไปเลย
Code (PHP)
<tr>
<td align="right" valign="middle">อุปกรณ์ภายในห้อง :</td>
<td>
<?php
echo "<table border='0'>";
$sql = "SELECT * FROM equipment";
$query = mysql_query($sql);
#$num = mysql_num_rows($qrr);
while($rs = mysql_fetch_array($query)){
echo "<tr>";
echo "<td width='28' align='left'>";
echo "<input type='checkbox' name='checkGE[".$rs['equip_id']."]' value='".$rs['equip_id']."'>";
echo "</td>";
echo "<td width='130'>";
echo $rs['equip_name'];
echo "</td>";
echo "<td>"."จำนวน <input type='text' name='txtamount[".$rs['equip_id']."]' size='5'> ";
echo "</td>";
echo "</tr>";
}
echo "</table>";
?>
</td>
</tr>
ส่วนหน้ารับค่า เปลี่ยนเป็น foreach $_POST["checkGE"] แทน for loop
เพราะน่าจะเข้าถึง key (index) ของ array Checkbox กับ Textbox ได้ตรงทั้งคู่
Code (PHP)
foreach($_POST["checkGE"] as $key => $value){
if($value != ''){
if($_POST['txtamount'][$key] != ''){
$unit = $_POST['txtamount'][$key];
}else{
$unit = '0';
}
$sql = "insert into equip_room (equip_id,room_id,amount) values ('".$key."','$room_id','$unit')";
$query = mysql_query($sql);
}
}
|
|
|
|
|
Date :
2012-02-22 16:04:53 |
By :
Likito |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:
ขอบพระคุณมากๆ เลยคะ ท่าน Unidentifer และ ท่าน Likito
ได้แล้วคะ เข้าฐานข้อมูล + ค่า ตรงกับ textbox ด้วย
นึกว่าจะส่งค่า จาก for loop ธรรมดา แล้ว ค่า index มันจะตรงกัน แหะๆ
ขอบพระคุณอีกครั้งนะคะ :)
|
|
|
|
|
Date :
2012-02-22 16:15:33 |
By :
Doremeez |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|