พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / jump menu
myBalls
myBalls
Sun 4 May 2008 20:52:05

พี่ webmaster ครับ คือมีปัญหาเรือ่ง jump menu จาก database ครับ  ไม่สามารถ แสดงค่าหลังจากที่เลือกค่าไปแล้วครับ มันยังเป็น ค่า 0 อยู่ ครับ
คือยากให้เป็นลักษณะที่ว่า  เลือกค่า นั้น แล้ว ก็ ให้แสดงค่านั้นอยู่ครับ
เช่น ผมเลือก computer  แต่หลังจากเลือกแล้วมันจะแสดง  กรุณาเลือกหมวดหลักของสินค้า

ครับผม ผมเขียนโค้ดแบบนี้ครับ

<?
echo "<form name=\"jump\">";
echo " <select name=\"j_shop\" id=\"j_shop\" onChange=\"MM_jumpMenu('parent',this,0)\" class=\"SELECT\">";
echo "<option selected>กรุณาเลือกหมวดหลักของสินค้า</option>";
$strCate =getSQLsql("SELECT * FROM tb_mainclass  ORDER BY mcls_id   ASC");  // or die(mysql_error());
          while ($rowCate = mysql_fetch_row($strCate))
         {
          echo "<option value=\"$PHP_SELF?category=$rowCate[0]\">$rowCate[1]</option>";
             }
    echo "</select> </form>";
  ?>

webmaster
webmaster
Sun 4 May 2008 22:50:06
ตามโค๊ดนี้ เมื่อเลือกจะมีการส่ง parameter category ไปด้วย ใน script ก็เช็คว่าค่าที่เลือกนั้นตรงกับที่กำลัง render อยู่หรือไม่ เช่น

echo "<option value=\".....\"".(($_GET["category"] == $row["id"])?" selected":"").">".$row["data"]."</option>";

ลองเอาไปประยุกต์ดูครับ
oishi
oishi
Tue 15 Jul 2008 21:47:28

พี่ช่วยดูให้หน่อยครับ งงหมดแล้ว

ตรงที่เช็ค render อ่ะ ช่วยหน่อยครับ

<select name="select" id="product" onChange="MM_jumpMenu('parent',this,0)">
        <option value="0" selected="selected">Select Product</option>
     
   <?  $query_rs_product = "SELECT * FROM product ORDER BY Pro_name ASC";
    $rs_product = mysql_query($query_rs_product) or die(mysql_error());
        
    while ($result = mysql_fetch_assoc($rs_product)){    
      
   ?> <option value="?module=market&id=version&proid=<? echo $result['Pro_id']?>".(($_GET["proid"] == $result["Pro_id"])?"selected"" ><? echo $result['Pro_name']?></option>
    
   <? 
          } 
     
   ?>
    
       </select>

webmaster
webmaster
Tue 15 Jul 2008 22:05:59
echo "<option value=\"?module=market&id=version&proid=".$result["Pro_id"]."\"".(($_GET["proid"]==$result["Pro_id"])?" selected":"")."></option>"

ความเห็นส่วนตัวเขียน echo ทีเดียวเร็วกว่าและอ่านง่ายกว่า การตรวจสอบว่าแสดงผลถูกต้องหรือไม่ ก็ให้ view source html ดูเอาครับ
qthehunter
qthehunter
Wed 23 Jul 2008 14:49:35

จริงไม่ยากนะ แต่นายยังมีความรู้ ด้าน html น้อยไปอ่ะ น่าจะไปศึกษามากกว่านี้

เช่น  selected="selected" เป็นการวาง default ของ list ว่าจะเริ่มที่ ค่าไหน

แค่นายเอา selected="selected" ออกจาก <option value="0" selected="selected">Select Product</option> มันก็เลือกค่าที่รับมาจาก GET  method ได้แล้ว

เพราะนาย check ค่า GET กับ selected แล้ว<option value="?module=market&id=version&proid=<? echo $result['Pro_id']?>".(($_GET["proid"] == $result["Pro_id"])?"selected"" ><? echo $result['Pro_name']?></option>

ที่มันไม่แสดงเพราะมันจะตั้ง default ที่ค่า selected ค่าแรกเท่านั้น

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login