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 > รบกวนดูเรื่อง OnChange 2 ตาราง ให้ทีครับ มีปัญหาครับ



 

รบกวนดูเรื่อง OnChange 2 ตาราง ให้ทีครับ มีปัญหาครับ

 



Topic : 106925



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



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




คือ ว่า ผมมีฐานข้อมูล ที่ใช้ 2 ตาราง
1. ตารางสินค้า product [product_id | product_name | product_price | category_code | country_code ]
2. ตารางหมวดสินค้า country [country_code | country_name]
ผมจะทำ list menu ชื่อหมวดสินค้า ครับ เมื่อเลือกชื่อหมวดสินค้า(country_name) แล้ว ก็จะโชว์ รหัสสินค้า(product_id)ล่าสุดที่ตั้งไว้ครับ
เท่าที่ผมดูค้นหา ส่วนมาก OnChange ตารางเดียวครับ
ดังนั้นตอนแีรกผมทำ list menu ก่อนครับ ปรากฏว่า ชื่อหมวดสินค้าขึ้น สมบูรณ์ครับ
พอมาทำ OnChange ปรากฏว่าขึ้นโค้ดที่เขียนมาครับ ผมเลยอยากให้ดูให้ทีครับ

Code (PHP)
<?
session_start();
if ($_SESSION["ad_card"]==null){
	echo "<script>alert('กรุณาทำการ Log in ครับ'); location='admin.php';</script> ";} ?>
    
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link  href="style.css"  rel="stylesheet"  type="text/css" />
<title>Untitled Document</title>
</head>
<body>
<? include"../connectDB.inc"; include("setting.php") ?>
<div id="increase">
<p align="center"> <font color="#FFFFFF" size="+3"><b>เพิ่มข้อมูลสินค้า</b></font> </p>
<form action="admin_product_addd.php" method="post" enctype="multipart/form-data">
<table width="500" border="0" align="center" cellpadding="5" bgcolor="#CCCCCC">
<tr>
<td>หมวดสินค้า</td>
<td><select name="country" onChange="window.location='?item'=+this.value;">
<option value=""> ►► เลือกหมวดสินค้า ◄◄ </option>
<?
$sql = "select * from country";
$exx = mysql_query($sql);
while ($rss=mysql_fetch_array($exx)) 
{
if($_GET["item"] == $exx["country_name"])
{
	$sel="selected";
}
{
	$sel="";
}
?>
<option value="<?=$rss[country_code]?>"><?=$rss[country_name]?></option>
<?
}
?>
</select>
<td>
<?
if($_GET["item"]!="")
{
	$sql="select country.*,product.* from country,product where country.country_id=product.country_id and country='".$_GET["item"]."' "; 
$exx = mysql_query($sql);
$rss2=mysql_fetch_array($exx);
}
?>
<input name="txtname" type="text" value="<?=$objResult2["product_id"];?>">
</td>
</td>
</tr>
<tr>
<td>รหัสสินค้า</td>
<td><input name="product_id" type="text"></td>
</tr>
<tr>
<td>ชื่อสินค้า (ไทย)</td>
<td><input name="product_name" type="text"></td>
</tr>
<tr>
<td>ชื่อสินค้า (ENG)</td>
<td><input name="product_first" type="text"></td>
</tr>
<tr>
<td>ประเภทสินค้า</td>
<td><select name="category" >
<option value=""> ►► เลือกประเภทสินค้า ◄◄ </option>
<?
$sql = "select * from category";
$ex = mysql_query($sql);
while ($rs=mysql_fetch_array($ex)) {
?>
<option value="<?=$rs[category_code]?>"><?=$rs[category_name]?></option>
<?
}
?>
</select>
</td>
</tr>
<tr>
<td valign="top">รายละเอียดสินค้า </td>
<td><textarea name="product_title" rows="5" ></textarea></td>
</tr>
<tr>
<td>ราคาสินค้า</td>
<td><input name="product_price" type="text" ></td>
</tr>
<tr>
<td>คลิปตัวอย่างหนัง youtube</td>
<td><input name="product_tube" type="text" ></td>
</tr>
<tr>
<td>รูปภาพสินค้า (ด้านหน้า)</td>
<td><input name="product_pic" type="file"></td>
</tr>
<tr>
<td>รูปภาพสินค้า (ด้านหน้า-หลัง)</td>
<td><input name="product_image" type="file"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="เพิ่มข้อมูล"> <input type="reset" value="ยกเลิก"></td>
</tr>
</table>
<p>&nbsp;</p>
</form>
</div>
<? mysql_close();?>
</body>
</html>


ผลที่ออกมาขึ้นโค้ดที่เขียนมาเฉยๆ

Code (PHP)
<?
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin</title>
<link  href="style.css"  rel="stylesheet"  type="text/css" />
</head>
<body>
<div id="log">
<form action="admin_check.php" method="post">
<table width="300" align="center">
<tr>
<td width="100"><font color="#FFFFFF"><b>เธŠเธทเนˆเธญเธœเธนเน‰เนƒเธŠเน‰</b></font></td>
<td><input type="text" name="user" size="20" /></td>
</tr>
<tr>
<td width="100"><font color="#FFFFFF"><b>เธฃเธซเธฑเธชเธœเนˆเธฒเธ™</b></font></td>
<td><input type="password" name="pass" size="20" /></td>
</tr>
<tr>
<td width="100"></td>
<td><input type="submit" value="Login" />
<input type="button" value="Cancel" onClick="history.back(0)" />
</td></tr></table></form>
</div>
</body>
</html>




Tag : PHP, MySQL









ประวัติการแก้ไข
2014-03-15 05:28:06
2014-03-15 05:29:24
2014-03-15 05:29:56
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-15 05:27:06 By : sesepat View : 1821 Reply : 7
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

เป็นที่ shorttag มั้งครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-15 09:18:43 By : {Cyberman}
 


 

No. 2



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

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

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


ตย.เก่า ๆ มีเยอะ ลองหา แล้วศึกษาเพิ่มเติมดู....
ที่มา คือ list menu พวก จังหวัด อำเภอ ตำบล นั้นแล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-15 10:24:02 By : apisitp
 

 

No. 3



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



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


รบกวนดูให้ทีครับ ลองปรับแล้วครับ ตอนแรกแสดงผลในส่วนของ countryss แต่ไม่แสดงผลของ productss ต่อให้
ดู dependant-listmenu-dropdownlist จากลิ้ง ครับ
https://www.thaicreate.com/community/dependant-listmenu-dropdownlist.html

Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link  href="style.css"  rel="stylesheet"  type="text/css" />
<title>ThaiCreate.Com ListMenu</title>
<? include"../connectDB.inc"; include("setting.php") ?>
<script language = "JavaScript">
//**** List Province (Start) ***//
function ListProvince(SelectValue)
{
frmMain.productss.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','') 
frmMain.country_name.options[frmMain.country_name.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM product ORDER BY product_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["country_code"];?>;
strValue = "<?=$objResult["product_id"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
if (mySubList[x,0] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,1]) 
frmMain.productss.options[frmMain.productss.length]= myOption 
}
<?
}
?>                     
</script>
</head>

<body>
<? include"../connectDB.inc"; include("setting.php") ?>
<div id="increase">
<form name="frmMain" action="" method="post">
Geography
<select id="countryss" name="countryss" onChange = "country_name(this.value)">
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM country ORDER BY country_code ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["country_code"];?>"><?=$objResult["country_name"];?></option>
<?
}
?>
</select>

รหัสสินค้า (ล่าสุด)
<select id="productss" name="productss" style="width:120px"></select>
</form>
</div>
<?
mysql_close($objConnect);
?>
</body>
</html>


ผมเลยลองแก้ไขอีก โดยเพิ่ม select c.*,p.* from country c,product p where c.country_id = p.country_id and order by product_id ASC ปรากฏว่า ไม่ขึ้นอ่ะไรเลยครับ
สาเหตุที่ต้องทำการ Join กันเพราะว่า
ตารางสินค้า product [product_id | product_name | product_price | category_code | country_code ]
ตารางหมวดสินค้า country [country_code | country_name]
เพื่อที่จะให้โชว์ รหัสสินค้า(product_id)ล่าสุดที่ตั้งไว้ครับ
ตัว Product_id แต่ละรหัส 2 ตัวเเรกจะไม่เหมือนกัน เช่น TH , CH , AS และก็จะตามด้วยเลข ท้าย 3 ตัว เช่น 001 , 002 ครับ
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link  href="style.css"  rel="stylesheet"  type="text/css" />
<title>ThaiCreate.Com ListMenu</title>
<? include"../connectDB.inc"; include("setting.php") ?>
<script language = "JavaScript">
//**** List Province (Start) ***//
function country_name(SelectValue)
{
frmMain.productss.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','') 
frmMain.productss.options[frmMain.productss.length]= myOption
<?
$intRows = 0;
$strSQL = "select c.*,p.* from country c,product p where c.country_id = p.country_id and order by product_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["country_code"];?>;
strValue = "<?=$objResult["product_id"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
if (mySubList[x,0] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,1]) 
frmMain.productss.options[frmMain.productss.length]= myOption 
}
<?
}
?>                     
</script>
</head>

<body>
<? include"../connectDB.inc"; include("setting.php") ?>
<div id="increase">
<form name="frmMain" action="" method="post">
Geography
<select id="countryss" name="countryss" onChange = "country_name(this.value)">
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM country ORDER BY country_code ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["country_code"];?>"><?=$objResult["country_name"];?></option>
<?
}
?>
</select>

รหัสสินค้า (ล่าสุด)
<select id="productss" name="productss" style="width:120px"></select>
</form>
</div>
<?
mysql_close();
?>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-17 01:56:25 By : sesepat
 


 

No. 4



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



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


ดูให้ผมทีได้ไหมครับ ผมต้องทำโปรเจคส่งครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-17 11:17:41 By : sesepat
 


 

No. 5



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



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


ช่องแรกโชว์หมวดสินค้าแล้วครับ แต่ช่อง 2 ไม่โชว์เลย
รบกวนช่วยทีครับ ว่าต้องแก้ต้องไหนถึงจะแสดงช่อง 2 ครับ ไปไม่ถูกเลย
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link  href="style.css"  rel="stylesheet"  type="text/css" />
<title>ThaiCreate.Com ListMenu</title>
<? include"../connectDB.inc"; include("setting.php") ?>
<script language = "JavaScript">
//**** List Province (Start) ***//
function countryss(SelectValue)
{
frmMain.productss.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','') 
frmMain.productss.options[frmMain.productss.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT product.* , country.* FROM  product LEFT JOIN country ON product.country_code = country.country_code WHERE product.country_code = '1' ";
$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["country_code"];?>;
strValue = "<?=$objResult["product_id"];?>";
strItem = "<?=$objResult["product_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.productss.options[frmMain.productss.length]= myOption 
}
<?
}
?>                     
</script>
</head>

<body>
<div id="increase">
<form name="frmMain" action="" method="post">
Geography
<select id="countryss" name="countryss" onChange = "countryss(this.value)">
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM country ORDER BY country_code ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["country_code"];?>"><?=$objResult["country_name"];?></option>
<?
}
?>
</select>

รหัสสินค้า (ล่าสุด)
<select id="productss" name="productss" style="width:120px"></select>
</form>
</div>
<?
mysql_close();
?>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 02:45:43 By : sesepat
 


 

No. 6



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

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

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


ตอบความคิดเห็นที่ : 5 เขียนโดย : sesepat เมื่อวันที่ 2014-03-18 02:45:43
รายละเอียดของการตอบ ::
- บรรทัดที่ 17 เอาไปรันใน phpMyadmin ได้ผลจริงไหมต้องลองทดสอบ ถ้าได้ผ่าน
- บรรทัด 27-29 มีความแตกต่าง (ดูได้จากสี Code)
- แล้ว <? ?> เปลี่ยนเป็น <?php ?> ใส่ php ไปด้วยทั้งหมดกันพลาด


ก็ไม่รู้จะแนะนำอะไรแล้วจริง ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-18 10:15:49 By : apisitp
 


 

No. 7



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



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


Quote:
- บรรทัดที่ 17 เอาไปรันใน phpMyadmin ได้ผลจริงไหมต้องลองทดสอบ ถ้าได้ผ่าน
- บรรทัด 27-29 มีความแตกต่าง (ดูได้จากสี Code)
- แล้ว <? ?> เปลี่ยนเป็น <?php ?> ใส่ php ไปด้วยทั้งหมดกันพลาด


17 เปลื่ยนเป็น
Code (PHP)
SELECT product.product_id FROM  product LEFT JOIN country ON product.country_code = country.country_code WHERE product.country_code = '1' 

ทดสอบใน phpMyadmin รันแล้วผ่านโชว์หมวดที่ 1 ครับ
*** แต่ผมทำไม่ถูกตรงที่ว่า เวลาเลือกหมวดอื่นในช่องที่ 1 แล้วปรากฏรหัสสินค้าตามหมวดที่เลือกครับ โดยที่เราไม่ต้องกำหนดค่าในโค้ดว่าต้องเป็น 1 เท่านั้น แต่ให้โชว์ตามที่เราเลือกช่องที่ 1 ครับ ขอคำแนะนำด้วยครับ
-------------------
บรรทัด 27-29 มีความแตกต่าง สี ก็เหมือนกับใน https://www.thaicreate.com/community/dependant-listmenu-dropdownlist.html ครับ
แต่ผมก็ไม่เข้าใจในส่วนโค้ดบรรทัดที่ 27-36 รบกวนอธิบายทีครับ
-------------------
ขอบคุณ Doctor K มากครับ


ประวัติการแก้ไข
2014-03-19 02:29:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-19 02:27:34 By : sesepat
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนดูเรื่อง OnChange 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 02
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 อัตราราคา คลิกที่นี่