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

HOME > PHP > PHP Forum > php>>> เรื่องเงื่อนไงครับ ช่วยหน่อยครับ... รบกวนหน่อยครับ ผมทำเมนูแปรผันตามกันโดยสร้างตาราง 2 ตาราง



 

php>>> เรื่องเงื่อนไงครับ ช่วยหน่อยครับ... รบกวนหน่อยครับ ผมทำเมนูแปรผันตามกันโดยสร้างตาราง 2 ตาราง

 



Topic : 037568

Guest




รบกวนหน่อยครับ
ผมทำเมนูแปรผันตามกันโดยสร้างตาราง 2 ตาราง
1.shop_menu1 (เก็บชื่อเมนูแรกไว้ สร้าง me1_vol ไว้ไห้เมนูที่2แปรผันตาม)
1.shop_menu2 (เก็บชื่อเมนูที่สองไว้ สร้าง me1_vol ไว้ให้แปรผันตามเมนูที่1 เวลาเลือก แล้วสร้างเมนู me2_vol ไว้เป็นค่าตัวมันเอง)

#แต่ผมอยากสร้างให้บางเมนูไม่โชว์ ถ้าบาง user เข้ามา ผมเลยสร้างตาราง shop_menu2_noshow ไว้เป็นเงื่อนไง ถ้า user คนนี้เข้ามา" แล้วเงื่อนไงเป็นตามตาราง ในเมนูหลักที่สองก็ไม่ต้องโชว์เมนูชื่อนั้น" ที่เหลือให้โชว์ปกติ โดยผมใส่เงื่อนไง if ไปตรงที่จะแสดงเมนูที่สอง แตตอนนี้ยังทำไม่ได้เลยครับ

ปัญหาคือ.
1.อยากให้ช่วยดู Code ตรงที่จะแสดง munuที่สองนะครับว่าเงื่อนไงมันผิดตรงไหนครับ(บรรทัดที่71-82)

Code (PHP)
<html>
<head>
<title> myweb Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

function validate() {
if(document.form1.cat2.value=='')
{ alert('Please select cat2 \nกรุณาเลือกหมวดย่อยด้วยจ้า...พ่อคุณ');
document.form1.cat2.focus();
return false;
} else {
return true;
}
}

//-->
</script>
</head>

<Form name="form1" method="post" action="post.php"
onSubmit='return validate();' >
<h3>My Form</h3>
<?php // v2 with drop down menu read from Mysql
$dbhost = "localhost"; // Database server
$dbname = "shop";
$dbuser = "root";
$dbpass = "";

$cat1 = $_REQUEST['cat1'];
mysql_connect($dbserver, $dbuser, $dbpass) or die("เชื่อมต่อฐานข้อมูลไม่ได้");
mysql_query("set NAMES tis620 ");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
$sql = "SELECT * from shop_menu1 Where me1_vol='$cat1' ";
$result = mysql_query( $sql );
if (mysql_fetch_array($result) ) {
$current = mysql_result($result, 0, 'me1_label');
} else {
$current = "-กรุณาเลือก-";
}
$sql = "SELECT * from shop_menu1 Order by me1_order "; // cat_label
$result = mysql_query( $sql); ?>
หมวดหลัก <Select Name='cat1' onChange="MM_jumpMenu('parent',this,0)">
<?
echo "<option value=$cat1>$current</option> \n" ;
echo "<option value=\"$PHP_SELF?cat1=$cat1\">-------</option> \n" ;
While( $fetcharr = mysql_fetch_array($result) ) {
$val = $fetcharr['me1_vol'];
$label = $fetcharr['me1_label'];
echo "<option value=\"$PHP_SELF?cat1=$val\">$label</option> \n" ;
}
echo "</Select>";
?>
หมวดย่อย <SELECT NAME='cat2' size=1 >
<?
$sql = "SELECT * from shop_menu2 Where me1_vol='$cat1' ";
$result = mysql_query( $sql );
if ($num_row = mysql_num_rows($result) == 0 ) {
echo "<option>กรุณาเลือกรายการหลัก</option> \n" ;
} else {
echo "<option value=>-กรุณาเลือก-</option> \n" ;
}
While( $fetcharr = mysql_fetch_array($result) ) {
$val = $fetcharr['me2_vol'];
$label = $fetcharr['me2_label'];
############# Code ที่ผมแทรกเงื่อนไขเข้าไป ###############
## ว่าถ้าเงื่อไงตรงกับตาราง shop_menu2_noshow ไม่ต้องโชวเมนูนี้ #########
$sql1 = "SELECT me1_vol ,me2_vol from shop_menu2_noshow Where username ='det' ";
$result1 = mysql_query( $sql1 );
While( $fetcharr1 = mysql_fetch_array($result1) ) {
$me1_vol=$fetcharr1['me1_vol'] ;
$me2_vol=$fetcharr1['me2_vol'] ;
if( $cat1 != $me1_vol & $val != $me2_vol ) { ######### << เงื่อนไง
echo "<option value=\"$val\">$label</option> \n" ;
}
}
########### จบCode ที่ผมแทรกเงื่อนไขเข้าไป ################
}

echo "</Select>";
?>
<br>Email <input type="text" name="email"><br>
<input type="submit" value=' ตกลง '>
</Form>

shop_menu1

shop_menu2

shop_menu2_noshow



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-01-23 19:38:28 By : Det View : 969 Reply : 6
 

 

No. 1



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

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

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


ต้องกำหนด session เข้ามาช่วยนะครับ
กำหนดเงื่อนไขว่าถ้า session user นี้เข้ามาแล้วตรงกับ username ในตาราง แล้วเมนูตรงกับในตาราง ก็ไม่ต้องโชว์เมนู

Code (PHP)
############# Code ที่ผมแทรกเงื่อนไขเข้าไป ###############
## ว่าถ้าเงื่อไงตรงกับตาราง shop_menu2_noshow ไม่ต้องโชวเมนูนี้ #########
$sql1 = "SELECT * from shop_menu2_noshow";
$result1 = mysql_query( $sql1 );
While( $fetcharr1 = mysql_fetch_array($result1) ) { 
$me1_vol=$fetcharr1['me1_vol'] ;       // เมนูหลัก
$me2_vol=$fetcharr1['me2_vol'] ;       // เมนูย่อย 
$username=$fetcharr1['username'] ; // user ที่ต้องการไม่ให้โชว์เมนู
if($cat1 == $me1_vol && $val == $me2_vol && $_SESSION[username] == $username) { // ต้องใช้ session เข้ามาช่วย
}  // ถ้าเมนูตรงกับในตาราง shop_menu2_noshow แล้ว session[username] ตรงกับ username ก้อไม่ต้อง echo เมนูออกมา
else
{
	echo "<option value=\"$val\">$label</option> \n" ;  // user อื่นเข้ามา หรือ user ใน ตาราง noshow แต่เมนูไม่เข้าเงื่อนไขให้โชว์
}
}
########### จบCode ที่ผมแทรกเงื่อนไขเข้าไป ###############

ลองดูนะครับ






Date : 2010-01-24 01:55:09 By : kennyg
 


 

No. 2



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



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


ขอบคุณครับ..
แต่ว่าปัญหาที่เจอแต่ตอนแรกคือ
เมนูมันที่ไม่ให้แสดงผลมันจะแสดงผลออกมา 3 ครั้ง (ที่จริงต้อง 1 ครั้ง)
เมนูที่ไม่ให้แสดงผล จะแสดงผลออกมา 2 ครั้ง (ที่จริงต้องไม่แสดง)

from
Date : 2010-01-24 12:23:22 By : Det
 

 

No. 3



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

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

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


https://www.thaicreate.com/tutorial/sql-distinct.html
Date : 2010-01-24 14:55:40 By : kennyg
 


 

No. 4



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



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


ขอบคุณครับ..
เดี๋ยวลองดู.....

ขอบคุณ k.Moo มากครับ
Date : 2010-01-24 15:00:27 By : Det
 


 

No. 5



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



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


ลองแล้วครับ..ผมเข้าใจว่าตอนที่อ่านออกมาจาก data base น่าจะแค่ครั้งเดียวครับ
แต่ว่าตอนอยู่ใน loop มัน fetch_array ออกมาหลายครั้งนะครับมันไม่หลุด loop มันเลยแสดงออกมาหลายครั้ง
ไม่รู้ว่าจะสร้างเงื่อนไงยังไงให้แสดงครั้งเดียว....ในเมนูที่สองครับ..
Date : 2010-01-24 15:17:00 By : Det
 


 

No. 6

Guest


fetch_array ยังไงมันก็ได้มาแค่รอบเดียวคัรบ ถ้าคุณ query ถูก
Date : 2010-01-25 00:03:45 By : เซ็งตัวเอง
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php>>> เรื่องเงื่อนไงครับ ช่วยหน่อยครับ... รบกวนหน่อยครับ ผมทำเมนูแปรผันตามกันโดยสร้างตาราง 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 อัตราราคา คลิกที่นี่