|
|
|
อย่างนี้ต้องใช้ array 3 มิติ ป่าวค่ะ ช่องสุดท้าย มานมี หมวดหมู่อื่นมาผสมด้วยอ่ะ เนื่องจาก ตอนนี้เราใช้ array 2 มิติ |
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-12-26 14:59:20 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้วิธีทำยากไปครับ
ลองไปศึกษา Ajax ดูครับ แนวการเขียนน่าจะไปทาง ajax มากกว่า
|
|
|
|
|
Date :
2009-12-26 15:50:47 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เราลองเปลี่ยนโค้ด ให้เป็นอย่างนี้แล้ว Code (PHP)
function ListCategory03(SelectValue)
{
frmMain.list_category03.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM category_03 ORDER BY SubCate03_Id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup1 = <?=$objResult["SubCate02_id"];?>;
strGroup2 = <?=$objResult["SubCate01_Id"];?>;
strValue = "<?=$objResult["SubCate03_Id"];?>";
strItem = "<?=$objResult["SubCate03_Name"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup2;
mySubList[x,2] = strValue;
mySubList[x,3] = strGroup1;
if ((mySubList[x,1] == SelectValue)&&(mySubList[x,3] == SelectValue)){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
}
<?
}
?>
}
มันผิดอยู่ใช่ป่าว
เราไม่เข้าใจว่า ประโยคนี้ มันคืออะไรอ่ะ
Code (PHP)
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
}
<?
}
?>
}
|
|
|
|
|
Date :
2009-12-26 16:15:23 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mySubList[x,1] <<< นี้ไม่ใช่ array 2 มิติน่ะครับ
Code (PHP)
if (mySubList[x,1] == SelectValue){
// ทำไมต้องเก็บเป็น array ด้วยครับ งง
// ความหมายก็คือ ถ้าค่าของ strGroup2 เท่ากับ selectValue
var myOption = new Option(mySubList[x,0], mySubList[x,2])
// เป็นการสร้าง option โดยค่า value คือ mySubList[x,2] และข้อความใน option นี้คือ mySubList[x,0]
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
// เพิ่ม option ใน select ที่ชื่อ list_category03
}
|
|
|
|
|
Date :
2009-12-26 16:42:36 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เราอาว มาจากเว้บ นี้ค่ะ มีคนเคยเขียนไว้ แล้วเอามาดัดแปลงเปนของเราอ่ะ
นี้โค้ดต้นฉบับอ่ะค่ะ
Code (PHP)
<?php
/*** By Weerachai Nukitram ***/
/*** http://www.ThaiCreate.Com ***/
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("thailand");
@mysql_query("SET NAMES UTF8");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ThaiCreate.Com ListMenu</title>
<script language = "JavaScript">
//**** List Province (Start) ***//
function ListProvince(SelectValue)
{
frmMain.ddlProvince.length = 0
frmMain.ddlAmphur.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.ddlProvince.options[frmMain.ddlProvince.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM province ORDER BY PROVINCE_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["GEO_ID"];?>;
strValue = "<?=$objResult["PROVINCE_ID"];?>";
strItem = "<?=$objResult["PROVINCE_NAME"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.ddlProvince.options[frmMain.ddlProvince.length]= myOption
}
<?
}
?>
}
//**** List Province (End) ***//
//**** List Amphur (Start) ***//
function ListAmphur(SelectValue)
{
frmMain.ddlAmphur.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.ddlAmphur.options[frmMain.ddlAmphur.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM amphur ORDER BY AMPHUR_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["PROVINCE_ID"];?>;
strValue = "<?=$objResult["AMPHUR_ID"];?>";
strItem = "<?=$objResult["AMPHUR_NAME"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.ddlAmphur.options[frmMain.ddlAmphur.length]= myOption
}
<?
}
?>
}
//**** List Amphur (End) ***//
</script>
</head>
<form name="frmMain" action="" method="post">
Geography
<select id="ddlGeo" name="ddlGeo" onChange = "ListProvince(this.value)">
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM geography ORDER BY GEO_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["GEO_ID"];?>"><?=$objResult["GEO_NAME"];?></option>
<?
}
?>
</select>
Province
<select id="ddlProvince" name="ddlProvince" style="width:120px" onChange = "ListAmphur(this.value)"></select>
Amphur
<select id="ddlAmphur" name="ddlAmphur" style="width:200px"></select>
</form>
</body>
</html>
<?
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2009-12-26 16:56:26 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนเป็นอย่างนี้ ก็ผิด อ่ะ *0* ทำไงเนี่ยะ
Code (PHP)
mySubList = new Array();
strGroup1 = <?=$objResult["SubCate02_id"];?>;
strGroup2 = <?=$objResult["SubCate01_Id"];?>;
strValue = "<?=$objResult["SubCate03_Id"];?>";
strItem = "<?=$objResult["SubCate03_Name"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup2;
mySubList[x,2] = strValue;
mySubList[x,3] = strGroup1;
if (mySubList[x,1] == SelectValue){
//ถ้า strGroup2 (SubCate01_Id)เท่ากับค่าที่เลือก
if(mySubList[x,3] == SelectValue) {
//และถ้า strGroup1 (SubCate02_Id) เท่ากับค่าที่เลือก ให้นำ ค่าเหล่านี้มาใส่ใน myoption
//จากฐานข้อมูล ถ้า SubCate01_Id = 1แล้ว SubCate01_Id = 2
//สิ่งที่จะมาแสดง ใน list สุดท้ายก็จะมีแค่ คณิตศาสตร์ วิทยาศาสตร์ ประวัติศาสตร์ ภาษาอังกฤษศิลปะ ระดับประถมศึกษาอื่นๆ
//ใช่ป่าวค่ะ
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
}
}
แล้วมานผิด ยังไงงงงงงงงงงอ่ะ งือๆ
|
|
|
|
|
Date :
2009-12-26 16:57:53 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองดูค่าจากตารางใน No1 น่ะครับ
strGroup1 = <?=$objResult["SubCate02_id"];?>;
strGroup2 = <?=$objResult["SubCate01_Id"];?>;
สองค่านี้ไม่มีทางที่จะเท่ากันได้เลย
น่าจะเป็นการใช้ || หรือเปล่าครับ
if (mySubList[x,1] == SelectValue || mySubList[x,3] == SelectValue) {
....
}
|
|
|
|
|
Date :
2009-12-26 17:25:10 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไม ยังผิดอยู่อ่ะค่ะ มานขึ้น error page
Code (PHP)
function ListCategory03(SelectValue)
{
frmMain.list_category03.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM category_03 ORDER BY SubCate03_Id ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup1 = <?=$objResult["SubCate02_id"];?>;
strGroup2 = <?=$objResult["SubCate01_id"];?>;
strValue = "<?=$objResult["SubCate03_id"];?>";
strItem = "<?=$objResult["SubCate03_Name"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup2;
mySubList[x,2] = strValue;
mySubList[x,3] = strGroup1;
if (mySubList[x,1] == SelectValue || mySubList[x,3] == SelectValue) {
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.list_category03.options[frmMain.list_category03.length]= myOption
}
<?
}
?>
}
</script>
|
|
|
|
|
Date :
2009-12-26 17:55:02 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-12-26 18:00:43 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-12-26 18:17:15 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
except '(' ลืมปิดนี้ตรงไหนสักแห่งในโค้ดหรือเปล่าครับ
นี้โค้ดของพี่วินป่ะ ดูแล้วงงดีน่ะ ไม่ค่อยเข้าใจเท่าไร
|
|
|
|
|
Date :
2009-12-26 19:02:37 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ครับโค้ดพี่วินพจณ์เคยศึกษาเหมือนกัน งง จับจุดไม่ถูกเลย 555 แต่ในหนังสือที่ซื้อมาศึกษาน่าจะมีอยู่สักตัวอย่างหนึ่ง ถ้าว่างจะลองเอามาให้ดูนะครับ
|
|
|
|
|
Date :
2009-12-26 19:20:34 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-12-27 14:50:02 |
By :
unzeen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|