10/10/2018, 11:41

Giúp em về combobox trong PHP

Em có 2 bảng DL.Em muốn hỏi làm sao để tạo 2 combobox này mà giá trị hiển thị ở combobox 2 sẽ phụ thuộc vào giá trị đã chọn ở combobox 1.
Em có tham khảo 1 số đoạn code ava nhưng dữ liệu ở đó nhập cứng vào code luôn mà em thì muốn nó lấy từ trong CSDL.
Các anh giúp em với.
jiSh@n viết 13:49 ngày 10/10/2018
Cái này là lĩnh vực của javascript, php nếu có liên quan cũng chỉ 1 tý thôi.
zuzuvn viết 13:57 ngày 10/10/2018
hì. chút kiến thức nho nhỏ

giả sử có 2 bảng
sp(idsp,tensp)
gopy(id,idsp,tieude)

file combo.php
PHP Code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options***91;selObj.selectedIndex***93;.value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>
<? 
    // connect................
    $id=$_GET***91;"id"***93;;
?>

<form name="form1" id="form1">
  <select name="id" onchange="MM_jumpMenu('parent',this,0)">
    <option>chon</option>
    <? 
                $result=mysql_query("select * from sp");
                while($row=mysql_fetch_array($result))
                echo "<option value=combo.php?id=$row***91;idsp***93;>$row***91;tensp***93;</option>";
    ?>
  </select>
  <br />
  <select name="giatri">
      <?
          $result=mysql_query("select * from gopy where masp=$id");
          while($row=mysql_fetch_array($result))
          echo "<option value=$row***91;id***93;>$row***91;tieude***93;</option>"
      ?>    
  </select>
</form>
</body>
</html>
tuyet0809 viết 13:49 ngày 10/10/2018
Được gửi bởi zuzuvn
hì. chút kiến thức nho nhỏ

giả sử có 2 bảng
sp(idsp,tensp)
gopy(id,idsp,tieude)

file combo.php
PHP Code:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options***91;selObj.selectedIndex***93;.value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>
<? 
    // connect................
    $id=$_GET***91;"id"***93;;
?>

<form name="form1" id="form1">
  <select name="id" onchange="MM_jumpMenu('parent',this,0)">
    <option>chon</option>
    <? 
                $result=mysql_query("select * from sp");
                while($row=mysql_fetch_array($result))
                echo "<option value=combo.php?id=$row***91;idsp***93;>$row***91;tensp***93;</option>";
    ?>
  </select>
  <br />
  <select name="giatri">
      <?
          $result=mysql_query("select * from gopy where masp=$id");
          while($row=mysql_fetch_array($result))
          echo "<option value=$row***91;id***93;>$row***91;tieude***93;</option>"
      ?>    
  </select>
</form>
</body>
</html>
Khi mình áp dụng đoạn code của bạn vào bài, mình thấy combo con (bảng gopy)đã theo sự lựa chọn trong combo cha (bảng sp). Tuy nhiên, cái lựa chọn trên combo cha lại biến mất, trở về là "chon". Rất mong bạn giải đáp giúp càng sớm càng tốt nhé. Nếu được thì gửi vào mail cho mình: tuyet0809@gmail.com. Cảm ơn bạn!

[=========> Bổ sung bài viết <=========]

Bạn zuzuvn giúp mình với!
toannet viết 13:52 ngày 10/10/2018
Cái đó pác thêm vào chỗ thẻ <option> của combo cha cái này 'selected' thì nó sẽ giữ lại

=> good luck
thaibao3 viết 13:54 ngày 10/10/2018
Bạn cho mình hỏi để get giá trị của 2 combo trên mình làm thế nào?
mình dùng $_GET[tensp] và $_GET[tiede]mà không lấy được
vip_haui viết 13:57 ngày 10/10/2018
<?

$id=$_GET["id"];
?>
Bài liên quan
0