ขอถามเรื่องการ แปลงข้อมูล ใน Array หน่อยนะครับพอดีว่างงมาหลายวันแล้วครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอถามเรื่องการ แปลงข้อมูล ใน Array หน่อยนะครับพอดีว่างงมาหลายวันแล้วครับ

ขอถามเรื่องการ แปลงข้อมูล ใน Array หน่อยนะครับพอดีว่างงมาหลายวันแล้วครับ
              <?php
              $sql = "SELECT * FROM `bk_equipment` WHERE `status`='1'";
              $query = $mysqli->query($sql);
              $num_rows = mysqli_num_rows($query);
              ?>
              <div class="table-responsive">
                <table class="table table-hover table-bordered">
                  <thead>
                    <tr bgcolor="#0083CA">
                      <td width="100" align="center"><font color="#FFFFFF">อุปกรณ์ในห้อง          </font></td>
                      <td width="100" align="center"><font color="#FFFFFF">สถานะ          </font></td> 
                    </tr>
                  </thead>
                  <?php
                    while ($rows = mysqli_fetch_array($query))
                    {
                      ?>
                      <tr bgcolor="#EEEEEE">
                        <td><input  readonly type="text" name="id_equipment[]" class="form-control" id="id_equipment" 
                          value="<?php echo $rows["id_equipment"];?>"></td>
                        <?php
                      }
                      ?>
                    </table>
                  </div>
ส่วนนี้เป็นเป็นค่า array ที่ได้จากหน้า form
[id_equipment] => Array ( [0] => คอมพิวเตอร์ [1] => จอโปรเจคเตอร์ [2] => เครื่องเสียง [3] => TV [4] => กระดานอิเล็กทรอนิก [5] => กระดานไวบอส [6] => วิชวลไลเซอร์ )
คือผมอยากแปลง ค่า Array ข้างบนเป็นตัวเลขอ่ะครับ อยากได้แบบนี้ครับ
[id_equipment] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
นี้เป็นรูปฐานข้อมูลที่เรียกมาแสดงครับ


Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 17:25:59

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
รูปหน้า form insert ข้อมูล



Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 17:27
 ความคิดเห็นที่ 2
  พอดีว่าโค้ดข้างบนผิด 
<?php
              $sql = "SELECT * FROM `bk_equipment` WHERE `status`='1'";

              $query = $mysqli->query($sql);
              $num_rows = mysqli_num_rows($query);
              ?>
              <div class="table-responsive">
                <table class="table table-hover table-bordered">
                  <thead>
                    <tr bgcolor="#0083CA">
                      <td width="100" align="center"><font color="#FFFFFF">อุปกรณ์ในห้อง          </font></td>
                      <td width="100" align="center"><font color="#FFFFFF">สถานะ          </font></td> 
                    </tr>
                  </thead>

                  <?php
                    while ($rows = mysqli_fetch_array($query))
                    {

                      ?>
                      <tr bgcolor="#EEEEEE">
                        <td><input  readonly type="text" name="id_equipment[]" class="form-control" id="id_equipment" 
                          value="<?php echo $rows["equipment_name"];?>"></td>

                        <td><select id="id_status_em" name="id_status_em[]" class="form-control" placeholder="เจ้าหน้าที่ดูแลห้อง">

                          <?php
                          $strSQL = "SELECT * FROM `bk_equipment_status` ORDER BY `id_status_em` ASC";
                          $objQuery=$mysqli->query($strSQL); 
                          while($objResuut = mysqli_fetch_array($objQuery))
                          {

                            ?>
                            <option value="<?php echo $objResuut["id_status_em"];?>"><?php echo $objResuut["status_name"];?></option>
                            <?php
                          }
                          ?>
                        </select></td>

                        <?php
                      }

                      ?>
                    </table>

                  </div>

แล้วนี้ก็โค้ด insert  ครับ
$idroom = $_POST['idroom'];  
//$id_status_em = $_POST['id_status_em'];  
//echo $id_equipment;

// print array ออกมาดู
print_r($_POST);
foreach($_POST['id_equipment'] as $row=>$art) {
            $id_equipment = mysql_real_escape_string($_POST['id_equipment'][$row]);
    foreach($_POST['id_status_em'] as $row=>$art){
          $id_status_em = mysql_real_escape_string($_POST['id_status_em'][$row]);
        }
        $sql = "insert into bk_room_equipment (idroom,id_equipment,id_status_em) values ('$idroom','$id_equipment','$id_status_em') ";
 
$result = mysqli_query($mysqli, $sql) or die ("Error in query: $sql " . mysqli_error());

       // echo $id_equipment;
       // echo $id_status_em; 


    }



Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 17:37
 ความคิดเห็นที่ 3
ตรง array ของ input text  ใส่ key เข้าไปด้วยเลยก็ได้ ใช้ id_equipment เป็น key

<input  readonly type="text" name="id_equipment[<?php echo $rows["id_equipment"];?>]" class="form-control" id="id_equipment<?php echo $rows["id_equipment"];?>"    value="<?php echo $rows["equipment_name"];?>">


ตอนใช้งาน foreach วนลูป 
foreach($_POST['id_equipment'] as $row=>$art) {
 
ค่า $row ก็คือ id_equipment 
สามารถเอาค่านี้ไปใช้งานได้

หรือจะใช้วิธีเพิ่ม input ้hidden ส่งอีกค่าเข้าไปแทนก็ได้

<input  readonly type="text" name="id_equipment[]" class="form-control" id="id_equipment"   
                        value="<?php echo $rows["equipment_name"];?>">
<input  type="hidden" name="h_id_equipment[]"  value="<?php echo $rows["id_equipment"];?>">


ninenik 122.155.42.xxx 27-06-2016
 ความคิดเห็นที่ 4
มัน error อ่ะครับ 
Array ( [idroom] => 26 [id_equipment] => Array ( [1] => คอมพิวเตอร์ [2] => จอโปรเจคเตอร์ [3] => เครื่องเสียง [4] => TV [5] => กระดานอิเล็กทรอนิก [6] => กระดานไวบอส [7] => วิชวลไลเซอร์ ) [id_status_em] => Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 1 [6] => 1 ) [submit] => ตกลง ) 

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:xampphtdocsroombookingform_insert_room_equipment.php on line 17
Error in query: insert into bk_room_equipment (idroom,id_equipment,id_status_em) values ('26','คอมพิวเตอร์','1')

ทำไมค่ามันมาอ่ะครับ


Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 19:17
 ความคิดเห็นที่ 5
mysqli_error()
เวลาใช้ตัองมี parameter ค่า connection link ด้วย
เช่น
mysqli_error($con)

เพิ่มเติม http://www.w3schools.com/php/func_mysqli_error.asp


ninenik 122.155.42.xxx 27-06-2016
 ความคิดเห็นที่ 6
ลองแล้วก็ยังไม่ได้อยู่ดีครับ


Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 19:40
 ความคิดเห็นที่ 7
ทำได้แล้วครับ ขอบคุณมากมากนะครับ


Mousemouse Taweeporn 49.49.242.xxx 27-06-2016 20:15
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ