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

HOME > PHP > PHP Forum > รบกวนช่วยดูโค้ด listbox 2 ชั้น ที่ดึงข้อมูลจากฐานข้อมูลมาแก้ไขให้หน่อยนะคะ



 

รบกวนช่วยดูโค้ด listbox 2 ชั้น ที่ดึงข้อมูลจากฐานข้อมูลมาแก้ไขให้หน่อยนะคะ

 



Topic : 124736



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



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




ตอนนี้กำลังทำแก้ไขข้อมูลอยู่คะ แต่ติดปัญหาที่ listbox ตัวที่ 2 มันขึ้นค่าสุดท้ายที่เรียกมาจากฐานข้อมูลคะ
ไม่ยอมขึ้นค่าของตัวมันเอง รบกวนช่วยดูให้หน่อยนะคะ


หน้า edit.php(PHP)
<select name="lstype" class="form-control" id="lstype" title="<?php echo $row_rs_prd['pt_name']; ?>">
<option value="0">เลือก</option>
</select>
-----------------------------------------------------------
<?php include('script/listbox_2_edit.php');?>


อันนี้เป็นโค้ดที่นำมาจากในเว็บนะคะ
หน้า listbox_2_edit.php(JavaScript)
<script type="text/javascript">  
$(document).ready(function(e) {
	loadlist2("select#lstype",$("select#lsgroup").val());
    $("select#lsgroup").change(function(){
		var datalist2 = $.ajax({	// รับค่าจาก ajax เก็บไว้ที่ตัวแปร datalist2
			  url: "script/data_for_list2_edit.php", // ไฟล์สำหรับการกำหนดเงื่อนไข
			  data:"lsgroup="+$(this).val(), // ส่งตัวแปร GET ชื่อ lsgroupให้มีค่าเท่ากับ ค่าของ lsgroup
			  async: false
		}).responseText;		
		$("select#lstype").html(datalist2); // นำค่า datalist2 มาแสดงใน listbox ที่ 2 ที่ชื่อ lstype
		// ชื่อตัวแปร และ element ต่างๆ สามารถเปลี่ยนไปตามการกำหนด
	});
});  

function loadlist2(Obj,Target){
	var datalist2 = $.ajax({	
		  url: "script/data_for_list2_edit.php", 
		  data:"lsgroup="+Target, 
		  async: false
	}).responseText;	
	$(Obj).html(datalist2);
}
</script>


หน้า data_for_list2_edit.php(PHP)
<?php  
header("Content-type:text/html; charset=UTF-8");                
header("Cache-Control: no-store, no-cache, must-revalidate");               
header("Cache-Control: post-check=0, pre-check=0", false); 

// ส่วนติดต่อกับฐานข้อมูล    
mysql_connect("localhost","root","1234") or die("Cannot connect the Server");         
mysql_select_db("loma") or die("Cannot select database");         
mysql_query("set character set utf8"); 
?>

<?php if(isset($_GET['lsgroup']) && $_GET['lsgroup']!=""){?>
	<option value="0">เลือก</option>
	<?php
	$query_rs_type="SELECT * FROM product_type WHERE gr_id ='".$_GET['lsgroup']."' ";
	$rs_type=mysql_query($query_rs_type);
	while($row_rs_type=mysql_fetch_assoc($rs_type)){
	?>
	<option value="<?php echo $row_rs_type['pt_id']; ?>"selected="selected"><?php echo $row_rs_type['pt_name']; ?></option>
	<?php } ?>  
	<?php }else{ ?>  
  	<option value="0">เลือก</option>  
<?php } ?>




Tag : PHP, MySQL, JavaScript









ประวัติการแก้ไข
2016-09-26 17:45:11
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-09-26 17:42:49 By : kk_kukkik View : 2174 Reply : 7
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


คิดไม่ออกว่ากระบวนการทำงานมันเป็นแบบไหน ในหน้า edit.php แคปรูปมาให้ดูหน่อยครับ ว่าในช่อง select ข้อมูลเป็นแบบไหน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-27 17:17:20 By : apisitp
 


 

No. 2



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



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


สินค้านี้ความจริงแล้วประเภทสินค้าจะต้องเป็น เสื้อกาวน์ คะ
แต่มันขึ้นเป็นถุงครอบเท้าข้อมูลสุดท้ายของหมวดสินค้า Cleanroom

3

4
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-27 18:11:42 By : kk_kukkik
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


จะต้องการให้ค่าที่ ประเภทสินค้าเป็นเสื้อกาวน์ งั้นถามเพิ่ม อะไรคือค่า หรือตัวแปร หรือข้อมูลที่ถูก select เพื่อจะให้แสดงค่าเป็นเสือกาวน์ code มันคือตรงไหน....

- ดูจาก code มันเหมือนเป็นการสร้าง list 2 ชั้น แบบปกติ มันยังไม่ผูกโยงกับการดึงค่าเดิมมาแสดงเลยครับ

- แล้วกระบวนการ Edit มันเริ่มจากตรงไหน เริ่มจากเลือก หมวดสินค้า หรือ มันส่งค่ามาจากไหน

อาจจะต้องรอคนอื่นที่ช่วยได้ครับ

Edit 1 - หน้า data_for_list2_edit.php บรรทัดที่ 19

<option value="<?php echo $row_rs_type['pt_id']; ?>" selected="selected">

ผมมั่นใจว่า ทุกรายการใน lsti มันมี selected="selected" ติดทุกตัว มีการเลือกทุกตัว มันเลยแสดงค่าตัวเลือกสุดท้ายออกมา

ลองดูจาก Chrome กด ฟังชั่น F12 Debug แล้วคลิดดู Element ตรง Drop Down List ประเภทสินค้าครับว่าเป็นอย่างที่บอกไหม....

*** ถ้าคุณจะะให้มันออกผลที่เสื้อกาวน์ คุณต้องมีการเปรียบเทียบโดยใช้ if เพื่อที่จะได้ค่าที่ต้องการ

ตย.
<Option value="TEAM" <? if($row["GROUP_ID"] == $row2["ID"]){ echo "selected"; }?>><?php echo $row2["GROUP_NAME"];?></Option>

จะเห็นว่าเขาได้มีการเปรียบเทียบ ฉนั้น
ต้องแยกให้ออก ระหว่างการ สร้าง select option กับ การทำห้ select option นั้นเป็นค่าที่ตรงกับค่าที่คิวรี่มาจากฐานข้อมูล


ประวัติการแก้ไข
2016-09-27 23:33:54
2016-09-27 23:37:05
2016-09-28 14:46:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-27 23:27:35 By : apisitp
 


 

No. 4



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



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


ตอนนี้ทำได้แล้วนะคะ ขอบคุณสำหรับความคิดเห็นคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-28 21:36:58 By : kk_kukkik
 


 

No. 5



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ทำแบบไหนครับ รบกวนอธิบายเป็นวิทยาทานนิดนึงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-29 09:08:46 By : apisitp
 


 

No. 6



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



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


หน้า edit.php (PHP)
<select name="lsgroup" class="form-control" id="lsgroup" data-initval="<?php echo $row_rs_prd['gr_id']; ?>">
<option value="0" <?php if (!(strcmp(0, $row_rs_prd['gr_id']))) {echo "selected=\"selected\"";} ?>>เลือก</option>
<?php do {  ?>
<option value="<?php echo $row_rs_group['gr_id']?>"<?php if (!(strcmp($row_rs_group['gr_id'], $row_rs_prd['gr_id']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rs_group['gr_name']?></option>
<?php } while ($row_rs_group = mysql_fetch_assoc($rs_group));
             $rows = mysql_num_rows($rs_group);
             if($rows > 0) {
             mysql_data_seek($rs_group, 0);
             $row_rs_group = mysql_fetch_assoc($rs_group);
             } ?>
</select>

<select name="lstype" class="form-control" id="lstype" data-initval="<?php echo $row_rs_prd['pt_id']; ?>">
<option value="0">เลือก</option>
</select>


หน้า listbox_2_edit.php (JavaScript)
<script type="text/javascript">  
$(function(){  
  
    // สร้างฟังก์ชั่น รับค่า ไฟล์ , selector เป้าหมาย , และข้อมูลที่ส่ง  
    var loadOption = function(targetFile,targetObj,dataSend){    
        var dataCheck=$(targetObj).data("initval");// เก็บค่าที่ได้เลือกไว้แล้ว    
        if(dataCheck!=null){  // ถ้ามีการกำหนดค่าที่ได้เลือกไว้แล้วใน data-initval  
            // รวมข้อมูลที่จะส่งไปยัง ajax ในที่นี้ใช้ตัวแปรชื่อ checkVal มีค่าเท่ากับ dataCheck  
            dataSend=$.extend(dataSend,{checkVal:dataCheck});    
        }    
        // ทำงาน ajax ส่งค่าข้อมูล  
         $.get(targetFile,dataSend,function(data){ // สำเร็จคืนค่า data    
                $(targetObj).html(data); // แทนค่าใน selector เป้าหมาย     
                $(targetObj).trigger("change"); // เรียก event ให้ selector เป้าหมายทำงาน       
         });            
    }  
          
     $("select#lsgroup").on("change",function(){    
        var dataSend={  
            lsgroup:$(this).val()  
        };  
        var targetObj="select#lstype";  
        loadOption("script/data_for_list2_edit.php",targetObj,dataSend);  
    });       
          
    $("select#lsgroup").val(function(){  
        return $(this).data("initval");   
    }).trigger("change");  
      
});  
</script>


หน้า data_for_list2_edit.php (PHP)
<?php  
session_start();
header("Content-type:text/html; charset=UTF-8");                
header("Cache-Control: no-store, no-cache, must-revalidate");               
header("Cache-Control: post-check=0, pre-check=0", false); 

// ส่วนติดต่อกับฐานข้อมูล    
mysql_connect("localhost","root","1234") or die("Cannot connect the Server");         
mysql_select_db("loma") or die("Cannot select database");         
mysql_query("set character set utf8"); 
?>

<?php if(isset($_GET['lsgroup']) && $_GET['lsgroup']!=""){?>  
    <option value="0">เลือก</option>  
    <?php  
    $query_rs_type="SELECT * FROM product_type WHERE gr_id ='".$_GET['lsgroup']."' ";  
    $rs_type=mysql_query($query_rs_type);  
    while($row_rs_type=mysql_fetch_assoc($rs_type)){  
        $is_selected=(isset($_GET['checkVal']) && $_GET['checkVal']==$row_rs_type['pt_id'])?" selected":"";  
    ?>  
    <option value="<?php echo $row_rs_type['pt_id']; ?>" <?=$is_selected?>><?php echo $row_rs_type['pt_name']; ?></option>  
    <?php } ?>    
    <?php }else{ ?>    
    <option value="0">เลือก</option>    
<?php } ?>



ประวัติการแก้ไข
2016-09-30 00:51:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-30 00:48:30 By : kk_kukkik
 


 

No. 7



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-09-30 08:29:12 By : apisitp
 

   

ค้นหาข้อมูล


   
 

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







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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