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,038

HOME > PHP > PHP Forum > ส่งค่า checkbox array ร่วมกับ textbox array แล้วค่าไม่ตรงกัน รบกวนแนะนำหน่อยนะคะ


[PHP] ส่งค่า checkbox array ร่วมกับ textbox array แล้วค่าไม่ตรงกัน รบกวนแนะนำหน่อยนะคะ

 
Topic : 074316



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



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


Code (PHP)
01.<tr>
02.            <td  align="right" valign="middle">อุปกรณ์ภายในห้อง :</td>
03.            <td>
04.            <?php   
05.                echo "<table border='0'>";
06.                    $qq="select * From equipment";
07.                    $qrr=mysql_query($qq);
08.                    $num=mysql_num_rows($qrr);
09.                    for($i=0;$i<$num;$i++)
10.                    {
11.                    $rs=mysql_fetch_array($qrr);   
12.                        echo "<tr>";
13.                        echo "<td width='28' align='left'>";
14.                        echo "<input type='checkbox' name='checkGE[]'  value='".$rs['equip_id']."'>";
15.                        echo "</td>";            
16.                        echo "<td width='130'>";              
17.                        echo $rs['equip_name'];
18.                        echo "</td>";
19.                        echo "<td>"."จำนวน  <input type='text' name='txtamount[]' size='5'> ";
20.                        echo "</td>";
21.                        echo "</tr>";
22.                    }
23.                 
24.                echo "</table>";
25.                ?>  
26.            </td>
27.          </tr>


เก็บในฐานข้อมูล
Code (PHP)
01.for ($i=0; $i<count($checkGE); $i++)
02.                {
03.                    if($_POST['checkGE'][$i] != '')
04.                    {
05.                        if($_POST['txtamount'][$i] != '')
06.                        {
07.                            $unit=$_POST['txtamount'][$i];
08.                        }
09.                        else
10.                        {
11.                            $unit='0';
12.                        }                          
13.                    $queryE = "insert into  equip_room (equip_id,room_id,amount) values ('".$_POST['checkGE'][$i]."','$room_id','$unit')";
14.                    $objQuery = mysql_query($queryE);
15.                    }
16.                }


จอ Insert คะ ค่า จาก textbox ดึงมาจากฐานข้อมูลอ่ะคะ
จอ insert

พอ นำข้อมูลที่ insert เข้าไปมาแสดง ????????
- -



Tag : PHP, MySQL

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-22 13:25:44 By : Doremeez View : 3049 Reply : 3
 

 

No. 1



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


เท่าที่อ่านดูจากโค้ดผมเห็นมีแปลกๆอยู่ที่เดียว

for ($i=0; $i<count($checkGE); $i++)

แก้ไขจากข้างบนให้เป็น

for ($i=0; $i<count($_POST['checkGE']); $i++)

นอกนั้นก็ดูปกติดีครับ

Code (PHP)
01.for ($i=0; $i<count($_POST['checkGE']); $i++)
02.                {
03.                    if($_POST['checkGE'][$i] != '')
04.                    {
05.                        if($_POST['txtamount'][$i] != '')
06.                        {
07.                            $unit=$_POST['txtamount'][$i];
08.                        }
09.                        else
10.                        {
11.                            $unit='0';
12.                        }                          
13.                    $queryE = "insert into  equip_room (equip_id,room_id,amount) values ('".$_POST['checkGE'][$i]."','$room_id','$unit')";
14.                                        echo $objQuery."<br />";
15.                    $objQuery = mysql_query($queryE) or die(mysql_error());
16.                    }
17.                }



ประวัติการแก้ไข
2012-02-22 15:42:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-22 15:41:38 By : sakuraei
 

 

No. 2



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



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


ไม่ใช้
Code (PHP)
1.while($rs = mysql_fetch_array($query)){

แทน
Code (PHP)
1.$num=mysql_num_rows($qrr);
2.for($i=0;$i<$num;$i++){

ละครับ

แล้วเพิ่ม index ของ array ไปเลยที่ name ของ checkbox กับ textbox
โดยที่ index นั้นเป็น equip_id ไปเลย

Code (PHP)
01.<tr>
02.            <td  align="right" valign="middle">อุปกรณ์ภายในห้อง :</td>
03.    <td>
04.<?php   
05.echo "<table border='0'>";
06.$sql = "SELECT * FROM equipment";
07.$query = mysql_query($sql);
08.#$num = mysql_num_rows($qrr);
09.while($rs = mysql_fetch_array($query)){
10.    echo "<tr>";
11.    echo "<td width='28' align='left'>";
12.    echo "<input type='checkbox' name='checkGE[".$rs['equip_id']."]'  value='".$rs['equip_id']."'>";
13.    echo "</td>";            
14.    echo "<td width='130'>";              
15.    echo $rs['equip_name'];
16.    echo "</td>";
17.    echo "<td>"."จำนวน  <input type='text' name='txtamount[".$rs['equip_id']."]' size='5'> ";
18.    echo "</td>";
19.    echo "</tr>";
20.}
21.echo "</table>";
22.?>  
23.    </td>
24.</tr>


ส่วนหน้ารับค่า เปลี่ยนเป็น foreach $_POST["checkGE"] แทน for loop
เพราะน่าจะเข้าถึง key (index) ของ array Checkbox กับ Textbox ได้ตรงทั้งคู่
Code (PHP)
01.foreach($_POST["checkGE"] as $key => $value){
02.    if($value != ''){
03.        if($_POST['txtamount'][$key] != ''){
04.            $unit = $_POST['txtamount'][$key];
05.        }else{
06.            $unit = '0';
07.        }                          
08.        $sql = "insert into  equip_room (equip_id,room_id,amount) values ('".$key."','$room_id','$unit')";
09.    $query = mysql_query($sql);
10.    }
11.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-22 16:04:53 By : Likito
 

 

No. 3



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



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

:

ขอบพระคุณมากๆ เลยคะ ท่าน Unidentifer และ ท่าน Likito
ได้แล้วคะ เข้าฐานข้อมูล + ค่า ตรงกับ textbox ด้วย
นึกว่าจะส่งค่า จาก for loop ธรรมดา แล้ว ค่า index มันจะตรงกัน แหะๆ

ขอบพระคุณอีกครั้งนะคะ :)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-22 16:15:33 By : Doremeez
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ส่งค่า checkbox array ร่วมกับ textbox array แล้วค่าไม่ตรงกัน รบกวนแนะนำหน่อยนะคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่