A-AA+then

ใช้งาน Combobox 2 ตัวที่สัมพันธ์กัน (Javascript)

1,263

    ใช้งาน Combobox 2 ตัวที่สัมพันธ์กัน (Javascript)

<? 
  $ServerName="localhost"; 
  $UserName="root"; // กำหนด User ของ MySQL
  $UserPassword=""; // กำหนดรหัสผ่านของ MySQL
  $DatabaseName="mydb"; // กำหนดชื่อ Database
  
  //สร้าง Connection ติดต่อกับ MySQL Server เก็บไว้ที่ตัวแปร $conn
  $conn = mysql_connect($ServerName, $UserName, $UserPassword);
  if (!$conn) die("ไม่สามารถติดต่อกับ MySQL ได้");
  mysql_query("SET NAMES tis620"); 
  
  //เลือกใช้งานฐานข้อมูลที่กำหนดไว้ที่ตัวแปร $DatabaseName
  mysql_select_db($DatabaseName, $conn) or die("ไม่สามารถเลือกใช้งานฐานข้อมูล $DatabaseName ได้");
  
  //ค่าที่ส่งมาเมื่อเลือกสายงาน
  $classid=$_GET[classid];

  //แสดงรายการ สายงาน
  $select_class="select * from class_tb order by class_id ";
  $query_class = mysql_query($select_class, $conn);

  echo "<select name=class onChange='class_select(this.value)'>";
  echo "<option>- เลือกสายงาน -</option> ";
  while ($rs_class = mysql_fetch_array($query_class)) {
    $class_id=$rs_class[class_id];
    $class_name=$rs_class[class_name];
    echo "<option value='$class_id'";
    if ($class_id==$classid) echo " selected"; //เลือกรายการที่ส่งมา
    echo ">
$class_name</option> "; 
  } 
  echo "</select>";

  //แสดงรายการ ประเภทของสื่อ
  if ($classid!='') { //มีการส่ง $classid มาด้วย
    $select_line="select * from news_line_tb where class_id=$classid ";
    $query_line = mysql_query($select_line,$conn);

    echo "<select name=news_line>";
    echo "<option>- เลือกประเภทของสื่อ -</option> ";
    while ($rs_line = mysql_fetch_array($query_line)) {
      $newsl_id=$rs_line[newsl_id];
      $newsl_name=$rs_line[newsl_name];
      $class_id_newsl=$rs_line[class_id];
      echo "<option value='$newsl_id'>$newsl_name</option> "; 
    } 
    echo "</select>";
  }
?>
<script language=Javascript>
//เมื่อเลือก สายงาน
function class_select(id) {
  document.URL='?classid='+id;
}
</script>



ผมลองเอาไปลองแล้วแต่มันใช้ไม่ได้อ่าครับ อันนี้โค๊ดผม 


      $coun=$_GET[coun];
      $province=$_GET[province];
      $sql="select * from tbcountry ";
      $query = mysql_query($sql, $conn);
     
      echo "<select name=country onchange='comboselect()'>";
      echo "<option>- เลือกจังหวัด -</option> ";
      while ($fetcharr = mysql_fetch_array($query)) {
        $coun_id = $fetcharr['coun_id'];
        $coun_name = $fetcharr['coun_name'];
        echo "<option value='$coun_id'";
        if ($coun_id==$coun) echo " selected";//เลือกรายการที่ส่งมา
        echo ">$coun_name</option> "; 
      } 
      echo "</select>"; ?>
      </td>
      <td align="right">จังหวัด</td>
      <td> <? if ($coun!="") 
      {
        $sql1="select * from tbprovince where coun_id = '$coun'";
        $query1 = mysql_query($sql1, $conn);
     
        echo "<select name=province onchange='comboselect(this.value)'>";
        echo "<option>- เลือกจังหวัด -</option> ";
        while ($fet = mysql_fetch_array($query1)) 
    {
          $pro_id = $fet['prov_id'];
          $pro_name = $fet['prov_name']; 
          echo "<option value='$pro_id'";
          if ($pro_id==$province) echo " selected";//เลือกรายการที่ส่งมา
          echo ">$pro_name</option> "; 
        } 
        echo "</select>";
      }
      ?>

5 ความคิดเห็น

จากการดู ก็ปกติดี...

ลองอธิบายเพิ่มเติมทีว่าเกิดอะไรขึ้น
1

คือว่า มันก็ไม่ยอมมีให้เลือกอ่าครับ ผมเลือกประเทศ แล้ว จังหวัดก็ไม่ขึ้นมา ให้เลือก นอกจากจะใช้ window.loaction อ่าครับ งง มากครับ (มือใหม่ครับ)
2

comboselect อันนึงมี parameter อีกอัน ไม่มี
3

<script language=Javascript>
//เมื่อเลือก สายงาน
function class_select(id) {
  document.URL='?classid='+id;
}
</script>

 ใช้ยังไงหรอครับ
4

ถ้าใช้ document.URL ไม่ได้ ก็ให้ใช้ window.location ก้ได้ครับ เหมือนกันครับ
5
^