0
こんにちは、私はカテゴリ、サブカテゴリ、質問が含まれている3つの動的ドロップダウンがあります。カテゴリにはサブカテゴリがあり、サブカテゴリには質問があります。これは私のコードです。私は作ると仮定し、私は最後にINSERTクエリを配置する予定が、その後、私は挿入するために、3つのドロップダウンを持つことは面倒であると認識3つのダイナミックドロップダウンをPHP/Javascriptで1つのダイナミックマルチレベルドロップダウンに変換しますか?
new1.php
<?php
$con = mysqli_connect("localhost","user","","database") or die ("Cannot connect to the database!");
?>
<form name="form1" action="" method="post">
<table>
<tr>
<td>Select Category</td>
<td><select class="form-control" style="width: 150px;" id="categorydd" name="catdd" onChange="change_category()">
<option>Select</option>
<?php
$query=mysqli_query($con, "SELECT category_id, categoryname FROM category WHERE ParentCategoryID IS NULL");
while($row=mysqli_fetch_array($query)) {
?>
<option value="<?php echo $row["category_id"]; ?>"><?php echo $row["categoryname"]; ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td>Select Subcategory</td>
<td>
<div id="subcategory">
<select class="form-control" style="width: 150px;">
<option>Select</option>
</select>
</div>
</td>
</tr>
<tr>
<td>Select Question</td>
<td>
<div id="question">
<select class="form-control" style="width: 150px;">
<option>Select</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
function change_category()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","new2.php?category="+document.getElementById("categorydd").value, false);
xmlhttp.send(null);
document.getElementById("subcategory").innerHTML = xmlhttp.responseText;
if(document.getElementById("categorydd").value=="Select"){
document.getElementById("question").innerHTML="<select><option>Select</option></select>";
}
}
function change_question()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","new2.php?subcategory=" + document.getElementById("subcategorydd").value, false);
xmlhttp.send(null);
document.getElementById("question").innerHTML = xmlhttp.responseText;
}
</script>
new2.php
<?php
$con = mysqli_connect("localhost","root","","imetrics") or die ("Cannot connect to the database!");
$category= isset($_GET["category"])?$_GET["category"]:"";
$subcat=isset($_GET["subcategory"])?$_GET["subcategory"]:"";
$question=isset($_GET["subcategory"])?$_GET["subcategory"]:"";
if($category !="") {
$query = mysqli_query($con, "SELECT category_id, categoryname FROM category WHERE ParentCategoryID =$category ");
echo "<select id='subcategorydd' class='form-control' style='width:150px;' name='subcatdd' onchange='change_question()' >";
echo "<option>"; echo "Select"; echo "</option>";
while($row=mysqli_fetch_array($query))
{
echo "<option value='$row[category_id]'>" ; echo $row["categoryname"]; echo "</option>";
}
echo "</select>";
}
if($subcat !="") {
$query=mysqli_query($con, "SELECT * FROM question WHERE question_subcat = $subcat ");
echo "<select>";
while($row=mysqli_fetch_array($query))
{
echo "<option value='$row[question_id] selected'>" ; echo $row["questiontitle"]; echo "</option>";
}
echo "</select>";
}
?>
マルチレベルのドロップダウンで簡単にできますか?だから最後の質問は、3つの動的ドロップダウンからなるこのコードを1つの動的なマルチレベルドロップダウンに変換する方法です。
あなたは私が動的にこれを有効に助けることができますか? –