正如我試圖在標題中描述的,我從一個MYSQL數據庫中選擇行的問題取決於同一頁上另一個下拉列表的ID。我只用了2個月左右的時間,現在需要幫助。PHP MYSQL - 下拉選擇取決於前一個下拉列表
我有一個類別表,下面的標題。
| id |名稱| PARENT_ID |
還有父類別,其parent_id爲0。父類別的子類別爲其parent_id,最大深度爲1個子類別。例如:
軟件開發與ID = 18和PARENT_ID = 0 PHP開發者一個父類是具有ID = 30和PARENT_ID = 18
子類別我有一個下拉列表,在那裏我可以選擇我工作的類別如下:
$p_query = "SELECT * FROM categories WHERE parent_id = 0 ORDER by id ASC";
$p_result = mysqli_query($con, $p_query) or die(mysqli_error($con));
$categories ='';
while($p_row = mysqli_fetch_assoc($p_result))
{
$categories .='<option class="option" value="p::'.$p_row['id'].'">' .$p_row['category_name'].'</option>';
}
<select name="categories[]" class="categories form-control" id="categories" style="width:100%" multiple>
<?php echo $categories;?>
</select>
這是行得通的,沒問題。但是,當我試圖獲得第二個下拉列表來顯示可能的類別,他們的parent_id作爲任何選定的父類別的ID時,我會檢索一個下拉列表,並顯示'找不到搜索結果'。下面的代碼是我正在使用的:
$subcategories ='';
while($p_row = mysqli_fetch_assoc($p_result))
{
$c_query = "SELECT * FROM categories WHERE parent_id = ".$categories['id']." ORDER by id ASC";
$c_result = mysqli_query($con, $c_query) or die(mysqli_error($con));
while($c_row = mysqli_fetch_assoc($c_result))
{
$subcategories .='<option class="option" value="c::'.$c_row['id'].'">' .$c_row['category_name'].'</option>';
}
}
<select name="subcategories[]" class="categories form-control" id="subcategories" style="width:100%" multiple>
<?php echo $subcategories ?>
</select>
有什麼,我失蹤了?作爲PHP和MYSQL的初學者,我會非常感謝任何幫助或建議。
這個問題可能已經解決過。 – Strawberry
'var_dump()','print_r()'和'echo'是你的朋友。在各個地方進行調試。所以首先檢查你的'$ p_result',接下來的'$ c_query'等...... – user1801810