GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ช่วยดู code listmenu ให้หน่อยนะคับว่าผิดตรงไหน

ผมมี้ table 2 table ต้องการดึงข้อมูลจาก table 1 บางส่วนมาเก็บที่ table2  ตอนนี้ดึงมาเก็บได้แล้วแต่พอกลับไปยังหน้าแก้ไข listmenu ที่เลือกไว้ตอนแรกคืนค่ากลับที่เดิมทั้งหมด ช่วยดูให้หน่อยนะคับ



code อันแรกเป็น code ที่เขียนดึงฐานข้อมุลจาก table 1 มาโชว์ยังหน้าฟอร์ม

<select name="t_code">

  <?php

  include("config.inc.php");

  $sql ="select * from tbl_type";

  $query =mysql_query($sql) or die ("error=$sql");

  $num =mysql_num_rows($query);

  for($i=1;$i<=$num;$i++)

  {

   $row =mysql_fetch_array($query);

   ?>

   <option value="<?PHP echo $row['t_code']?>"><?PHP echo $row['t_name']?></option>

   <?PHP

   }

   ?>

        </select>






code ที่ 2 เป็นโค๊ดที่เขียนในการแก้ไขการเปลี่ยนแปลงของ listmenu



<select name="t_code">

                      <?php

  include("config.inc.php");

  $sqlc ="select * from tbl_type";

  $queryc =mysql_query($sqlc) or die ("error=$sqlc");

  $numc =mysql_num_rows($queryc);

  for($i=1;$i<=$numc;$i++)

  {

   $rowc =mysql_fetch_array($queryc);

   ?>

                      <option value="<?PHP echo $rowc['t_code']?>"

        <?PHP if($rowc['t_code']==$row['t_code']){echo 'selected="selected"';}?>> <?PHP echo $rowc['t_name']?></option>          

         <?PHP

   }

   ?>

         </select>




ซึ่ง code ที่ 1 ไม่มีปัญหา แต่อยากให้ดู code ที่ 2 ว่าผิดตรงไหนเมื่อกลับมาแก้ไขจึงไม่เก็บค่า



................รบกวนพี่ ๆๆ หน่อยนะคับ.......................
04 พ.ย. 2555 1 1,813

 if($rowc['t_code']==$row['t_code']){




$row['t_code'] มาจากไหนครับ ผมไม่เห็นที่มาที่ไป.... ทำให้มันไม่สามารถตรวจสอบค่าได้



ถ้าโค้ดทั้ง 2 ส่วนอยู่ในหน้าเดียวกัน ก็จำเป็นต้องเก็บค่าดังกล่าวจากส่วนที่ 1 ใส่ แอเรย์อื่นไว้ก่อน แล้วค่อยนำแอเรย์นั้นมาใช้ในส่วนที่ 2



<?php

// ส่วนที่ 1

for($i=1;$i<=$num;$i++) {

    $row =mysql_fetch_array($query);

    // เก็บค่าแถวไว้ที่ตัวแปรอื่น โดยใช้ t_code เป็น key ซึ่งเราจะใช้ key นี้ในการตรวจสอบว่าเป็นค่าเดีนยวกับส่วนที่ 2 (อาจเลือกใช้ค่าอื่นได้ตามเงื่อนไขที่ต้องการ)

    $save[$row['t_code']] = $row;

    // do some thing


}

...........................

// ส่วนที่ 2

for($i=1;$i<=$num;$i++) {

    $rowc =mysql_fetch_array($queryc);

    // ตรวจสอบว่ามีรายการที่ t_code ใน อันแรกหรือไม่

    $sel = isset($save[$rowc['t_code']]) ? ' selected=selected' : '';

     // do some thing

}

?>


คร่าวๆ ก็ประมาณนี้ ลองทำความเข้าใจ และ ประยุกค์ ดูครับ
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^