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

HOME > PHP > PHP Forum > ขอวิธีการเลือก List box แล้วโชว์ข้อมูลมากกว่า 1 รายการ



 

ขอวิธีการเลือก List box แล้วโชว์ข้อมูลมากกว่า 1 รายการ

 



Topic : 135828



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



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




ขอวิธีการเลือก List box แล้วโชว์ข้อมูลมากกว่า 1 รายการ แต่ข้อมูลที่แสดงมีแค่ข้อมูลเดียวถ้าต้องการให้ดึงมาแสดงหลายรายการต้องปรับยังไงครับ
ตัวอย่างตามรูป

ex1

ข้อมูล Query
ex2


Code (PHP)
<script language="JavaScript">
	function fncSum() 
	{
        var a = String(document.frmMain.memastitle.value);
		document.frmMain.txtSUM.value = a;
		document.frmMain.txtSUM2.value = a;
		document.frmMain.txtSUM3.value = a;
    }   //ปิดฟังซั้น
</script>
<?php
    //2. query ข้อมูลจากตาราง tb_member:
    $query = "SELECT Ac_Owner, SUM(Ac_Units), SUM(Ac_Cost), SUM(Ac_NBV) FROM dc_asset GROUP BY Ac_Owner" or die("Error:" . mysqli_error());
    //3.เก็บข้อมูลที่ query ออกมาไว้ในตัวแปร result .
    $result = mysqli_query($mysqli, $query);
?>  
<form name="frmMain" action="form1" method="get">
<select name="memastitle" OnChange="fncSum();" >
 		<option value="">เลือกข้อมูล</option>
            <?php foreach($result as $results){?>
        <option value="<?php echo $results["unit"];?>" <?=(isset($_GET['myselect']) && $_GET['myselect']=="ขว")?" selected":""?>>
            <?php echo $results["Ac_Owner"]; ?>
        </option>
        <?php } ?>
</select>




<input type="text" name="txtSUM" value=""  disabled>
<input type="text" name="txtSUM2" value=""  disabled>
<input type="text" name="txtSUM3" value=""  disabled>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-01-11 11:53:11 By : vboy_77 View : 667 Reply : 9
 

 

No. 1



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



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


print_r($result); ได้อะไรครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 13:15:28 By : lakornworld
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : lakornworld เมื่อวันที่ 2021-01-11 13:15:28
รายละเอียดของการตอบ ::
ได้ข้อมูลตามนี้ครับ

ex3
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 13:30:46 By : vboy_77
 

 

No. 3



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



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


ขออีกรอบครับลืม s
print_r($results); // ใน foreach


ประวัติการแก้ไข
2021-01-11 14:03:34
2021-01-11 14:04:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 13:44:24 By : lakornworld
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : lakornworld เมื่อวันที่ 2021-01-11 13:44:24
รายละเอียดของการตอบ ::
แบบนี้รึเปล่าครับ.


ex4
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 14:02:19 By : vboy_77
 


 

No. 5



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



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


ถูกแล้วครับผมอยากดูชื่อ key ของ object

ลองแก้ตามนี้ดู

Code (PHP)
function fncSum() 
	{
        var a = String(document.frmMain.memastitle.value);
        var part = a.split("|");
		document.frmMain.txtSUM.value = part[0];
		document.frmMain.txtSUM2.value = part[1];
		document.frmMain.txtSUM3.value = part[2];
    }   //ปิดฟังซั้น
</script>
<?php
    //2. query ข้อมูลจากตาราง tb_member:
    $query = "SELECT Ac_Owner, SUM(Ac_Units) unit, SUM(Ac_Cost) cost, SUM(Ac_NBV) nbv FROM dc_asset GROUP BY Ac_Owner" or die("Error:" . mysqli_error());
    //3.เก็บข้อมูลที่ query ออกมาไว้ในตัวแปร result .
    $result = mysqli_query($mysqli, $query);
?>  
<form name="frmMain" action="form1" method="get">
<select name="memastitle" OnChange="fncSum();" >
 		<option value="">เลือกข้อมูล</option>
            <?php foreach($result as $results){?>
        <option value="<?php echo $results["unit"] . "|" . $results["cost"] . "|" . $results["nbv"];?>" <?=(isset($_GET['myselect']) && $_GET['myselect']=="ขว")?" selected":""?>>
            <?php echo $results["Ac_Owner"]; ?>
        </option>
        <?php } ?>
</select>




<input type="text" name="txtSUM" value=""  disabled>
<input type="text" name="txtSUM2" value=""  disabled>
<input type="text" name="txtSUM3" value=""  disabled>



ประวัติการแก้ไข
2021-01-11 14:18:23
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 14:17:26 By : lakornworld
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : lakornworld เมื่อวันที่ 2021-01-11 14:17:26
รายละเอียดของการตอบ ::
ขอบคุณครับ ข้อมูลขึ้นแล้วครับ กระจ่างขึ้นมาเลยครับ
ผมขอคำแนะนำเพิ่มอีดนิดครับ
1. ถ้าเรามีเงื่อน โดยแยกชุดที่เป็น mini ให้อยู่ในกรอบสีแดง ส่วน xd ให้อยู่ในกรอบสีน้ำเงิน
2. ถ้ายังไม่เลือกข้อมูลให้ให้โชว์ยอดรวมแทนครับ



ex5
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 15:13:11 By : vboy_77
 


 

No. 7



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



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


SQL ปลด GROUP BY และดึง Ac_Site มาเพื่อสร้างเงื่อนไขใน Application (จริงๆ ดึงแยกมาจาก Database เลยก็ได้...แต่ตัวอย่างนี้เป็นพื้นฐานเพื่อให้เห็นการทำงานของภาพรวม)

Code (SQL)
SELECT Ac_Site, Ac_Owner, SUM(Ac_Units) unit, SUM(Ac_Cost) cost, SUM(Ac_NBV) nbv FROM dc_asset


ค่าของ option ที่ถูกเลือก
Code (PHP)
<?php 
foreach($result as $results) {
    $values = "";
    if ($results["Ac_Site"] == "mini") {
        $unit_mini = $results["unit"] . "|";
        $cost_mini = $results["cost"] . "|";
        $nbv_mini = $results["nbv"] . "|";
    } else {
        $unit_xd = $results["unit"] . "|";
        $cost_xd = $results["cost"] . "|";
        $nbv_xd = $results["nbv"];    
    }
    $values = $unit_mini . $cost_mini . $nbv_mini . $unit_xd . $cost_xd . $nbv_xd;
?>

<option value="<?php echo $values;?>" <?=(isset($_GET['myselect']) && $_GET['myselect']=="ขว")?" selected":""?>>



ส่วนแสดงผล ก็เพิ่มให้ครบทุกช่อง
Code (PHP)
<input type="text" name="txtSUM" value=""  disabled>
<input type="text" name="txtSUM2" value=""  disabled>
<input type="text" name="txtSUM3" value=""  disabled>
&nbsp;mini&nbsp;
<input type="text" name="txtSUM4" value=""  disabled>
<input type="text" name="txtSUM5" value=""  disabled>
<input type="text" name="txtSUM6" value=""  disabled>
&nbsp;xd&nbsp;


ฟังก์ชัน fncSum() สำหรับ OnChange event
Code (JavaScript)
document.frmMain.txtSUM.value = part[0];
document.frmMain.txtSUM2.value = part[1];
document.frmMain.txtSUM3.value = part[2];
document.frmMain.txtSUM4.value = part[3];
document.frmMain.txtSUM5.value = part[4];
document.frmMain.txtSUM6.value = part[5];


ส่วนการแสดงยอดรวมเมื่อยังไม่เลือก...ลองทำเองดูก่อนครับ ติดตรงไหนค่อยว่า
ไกด์ Select ผลรวมออกมาจาก Database เลย แล้ว implement ด้วย OnLoad event
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 16:11:20 By : lakornworld
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : lakornworld เมื่อวันที่ 2021-01-11 16:11:20
รายละเอียดของการตอบ ::
เงื่อนไขผมดึงโดยเลือกจากคน แต่แยกด้วยหน่วย mini, xd ถ้าตัดตรง GROUP BY และดึง Ac_Site ข้อมูลก็จะหายไปเลยครับ


ex6
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 16:49:46 By : vboy_77
 


 

No. 9



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



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


เปลี่ยน option ใหม่
Code (PHP)
<option value="">เลือกข้อมูล</option>
<?php 
$values = "";
foreach($result as $results) {
    if ($results["Ac_Site"] == "mini") {
        $unit_mini = $results["unit"] . "|";
        $cost_mini = $results["cost"] . "|";
        $nbv_mini = $results["nbv"] . "|";
        $values = $unit_mini . $cost_mini . $nbv_mini;
    } else {
        $unit_xd = $results["unit"] . "|";
        $cost_xd = $results["cost"] . "|";
        $nbv_xd = $results["nbv"];
        $values .= $unit_xd . $cost_xd . $nbv_xd;   ?>

<option value="<?php echo $values;?>" <?=(isset($_GET['myselect']) && $_GET['myselect']=="ขว")?" selected":""?>><?php echo $results["Ac_Owner"]; ?></option>
<?php
    }  // end if
} // end foreach
?>



อย่างอื่นเหมือน #7 ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-11 17:03:09 By : lakornworld
 

   

ค้นหาข้อมูล


   
 

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