อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

Re: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย mindphp » 20/05/2009 11:57 am

ตัวอย่าง โค้ด เพื่อเลือก ตัวเลือกของ list box ไว้ที่ Programming - PHP
<span class="gensmall">ไปที่:</span>&nbsp;<select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }">
<option value="-1">เลือกบอร์ด</option>
<option value="-1">------------------</option>
<option value="22">บอร์ด ถาม ตอบ PHP การเขียน โปรแกรม</option>
<option value="6" selected="selected">&nbsp; &nbsp;Programming - PHP</option>
<option value="21">&nbsp; &nbsp;SMF Joomla 1.5 CMS CRM</option>
<option value="18">&nbsp; &nbsp;JavaScript & AJAX</option>
<option value="17">&nbsp; &nbsp;SQL - Database</option>
<option value="16">&nbsp; &nbsp;Programming - C/C++ & java</option>
<option value="3">&nbsp; &nbsp;ถาม - ตอบ คอมพิวเตอร์</option>
<option value="19">&nbsp; &nbsp;PHP News</option>
<option value="20">&nbsp; &nbsp;HTML CSS</option>
</select>&nbsp;

Re: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย ammyamm » 20/05/2009 8:43 am

ใส่ตรงไหนอ่ะค่ะ ใช่ใส่ใน form หรือ function getlistofdata อ่ะค่ะ พี่

Re: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย mindphp » 19/05/2009 4:56 pm

ใน Options ของ list ิbox
ถ้าต้องการให้เลือกตัวไหน ไว้ให้ใส่

โค้ด: เลือกทั้งหมด

 selected="selected"
เข้าไป

Re: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย ammyamm » 19/05/2009 4:36 pm

ตอนนี้ เมื่อเลือก ค่าในlist box1(โรงงาน) แล้ว ในlistbox2 จะแสดง เครื่องจักรในโรงงานที่เลือกใน listbox1 ได้แร้วค่ะ แต่มีปัญหาตรงที่ ในlistbox1 มันไม่เก็บค่าที่เราเลือกไว้อ่ะค่ะ ต้องการให้listbox1มันแสดงค่าที่เราเลือกไว้ด้วยอ่ะค่ะ ต้องทำอย่างไงค่ะ
รบกวนช่วยหน่อยค่ะ
ขอบคุณค่ะ

Re: อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย mindphp » 18/05/2009 2:22 pm

ส่วนไหน คือข้อมูล ข้อมูลแผนก ล่ะครับ
คำว่าไม่ขึ้น มีแจ้ง Error อะไร หรือเปล่า
ถ้าไม่มี ก็แสดง ว่ามีปัญหา เรื่องการส่งค่าข้อมูล อาจจะมาจากระหว่าง page หรือ คำสั่ง sql ไม่ถูกต้อง

อยากถามเรื่องการทำ listbox 2 ชั่นค่ะ

โดย ammyamm » 18/05/2009 12:50 pm

พอดีจะทำฟอร์ม ค้นหาข้อมูลโดยเมื่อเลือกข้อมูลโรงงานใน listbox1 แล้วใน listbox2 ให้แสดงของแผนกในโรงงานที่เราเลือกในlistbox1 อ่ะค่ะ แต่พอเลือกโรงงานแล้ว ข้อมูลแผนกกลับไม่ดึงมาแสดงในlistbox2 ให้อ่ะค่ะ ต้องแก้อย่างไงค่ะ
ตัวอย่างform ที่ทำค่ะ
<form name="form1" action="<?echo $PHP_SELF?>" method="post" enctype="application/x-www-form-urlencoded" >
<table width="512" height="99" border="1" cellpadding="0" cellspacing="0" >
<tr><th class=xl1716864 colspan=6><font size="4"><?echo $REPNAME?></font></th></tr>
<tr><th colspan=6></th></tr>
</span>
</caption>
<tr class=xl1726864>
<th width="117" ><span class="style2">รหัสโรงงาน<?echo $paramname ?></span></th>
<th width="172" colspan=3>
<select name="mc_factory" size="1" onChange="return submitForm('mc_factory')">
<?$master->getListofData( "mc_factory", "", "ASC" )?>
</select>

</th>
</tr>
<tr class=xl1726864>
<th width="117" ><span class="style2">เริ่มจากรหัส<?echo $paramname ?></span></th>
<th width="172"><span class="style2">
<select name="start_code" size="1" ><?$master->getListofDataWithCondition( "machine", "", "ASC", " mc_factory = '$mc_factory' " )?></select>
</span></th>
<th width="60"><span class="style2">ถึง</span></th>
<th width="172"><select name="end_code" size="1"><?$master->getListofDataWithCondition( "machine", "", "ASC", " mc_factory = '$mc_factory' " )?></select></th>
</tr>
<tr class=xl1726864>
<th width="117"><span class="style2">ตั้งแต่วันที่</span></th>
<th width="172">
<span class="style2">
<select name="s_dd" size="1"><? $mydate->showOptionDate( $d1, $m1, $y1 )?></select>
<select name="s_mm" size="1"> <? $mydate->showOptionMonth( $d1, $m1, $y1 )?></select>
<select name="s_yyyy" size="1"><? $mydate->showOptionYear( $d1, $m1, $y1 )?></select>
</span></th>
<th width="60"><span class="style2">ถึง</span></th>
<th width="172">
<select name="e_dd" size="1"><? $mydate->showOptionDate( $d1, $m1, $y1 )?></select>
<select name="e_mm" size="1"><? $mydate->showOptionMonth( $d1, $m1, $y1 )?></select>
<select name="e_yyyy" size="1"><? $mydate->showOptionYear( $d1, $m1, $y1 )?></select>
</th>
</tr>
<tr>
<th colspan="3" align="right" style="border-right:none"><input name="ตกลง" type="submit" value="ตกลง"></th>
<th align="right" ><input name="ปิดหน้านี้" type="button" value="ปิดหน้านี้" onClick="window.close();window.opener.focus();"></th>
</tr>
</table>
<input name="action" value="P" type="hidden" id="action">
</form>

โดยใน list box1 จะเลือกฟังก์ชั่น getListofData จากอีกไฟล์มาอ่ะค่ะ
ตัวอย่าง ฟังก์ชั่น getListofData ค่ะ
function getListofData( $tabname, $value, $order )
{
$isselected = false;
$sql = "SELECT * FROM $tabname WHERE status = 'A' order by code $order";
//if ( strlen( $value ) > 0 ) $sql .= " AND code Like $value";
//echo $sql;

$result = mysql_query( $sql );
$errmsg =mysql_error();
//echo "$errmsg";
$isselected = false;
if ( $result && mysql_affected_rows() > 0 )
{
for ( $i=0; $i < mysql_affected_rows(); $i++ )
{
$row = mysql_fetch_object($result);
//while ( $row = mysql_fetch_object($result) )
//{
$th = $row->nameth;
$en = $row->nameen;
$code = $row->code;

if ( strlen( $th ) > 0 )
{
$name = $th;
}else $name = $en;

if ( strlen( $value ) <= 0 )
{
echo "<option value=\"$code\">$code : $name</option>";

}else {
if ( $code == $value )
{
$isselected = true;
echo "<option value=\"$code\" selected>$code : $name</option>";
}else{
echo "<option value=\"$code\">$code : $name</option>";
}
}//end if =?
}//end while/
mysql_free_result( $result );
}
if ( !$isselected )
{
echo "<option value=\"\" selected>&nbsp;</option>";
}// end if result?
}

ข้างบน