Как извлечь атрибут id из того же файла, который будет использоваться в запросе - PullRequest
0 голосов
/ 22 февраля 2019

На моем веб-сайте у меня есть выпадающий список, и я сделал событие, чтобы узнать, какой элемент выбран у пользователя .. и это работает.Я могу получить значение и распечатать его на экране, используя атрибут id!Эта функция будет работать, когда пользователь выбирает из выпадающего списка

<script>
function SelServ(){
    var x = document.getElementById("services").value;
    document.getElementById("chosenServ").innerHTML =x;


}
</script>

Раскрывающийся список читает из базы данных

echo "<select name = \"services\" id = \"services\" onchange = \"SelServ()\">";
//my connection
$myCon = new mysqli("localhost","root","","mss");
if(mysqli_connect_errno()){
    printf("Connect Failed : %s\n",mysqli_connect_error());
}
else{
    $sql = "SELECT ServID ,ServName FROM service";
    $result =  mysqli_query($myCon,$sql);
    if($result){
        while($StaffArr = mysqli_fetch_array($result,MYSQLI_ASSOC)){

            $servName = $StaffArr['ServName'];
            $ServiceID = $StaffArr['ServID'];
            echo "<option value = \"".$ServiceID."\">".$servName."</option>";
        }
    }
    else{
        printf("Couldn't retrive records ! <br /> %s",mysqli_error($myCon));
    }
}
echo "</select>";

И я использую div для извлечения выбранного элемента

$servIDHTML = "<div id = \"chosenServ\"></div>";

Я хочу извлечь значение id и включить его в оператор sql, чтобы повлиять на раскрывающийся список на той же странице !!Есть идеи?

1 Ответ

0 голосов
/ 23 февраля 2019

Вы должны использовать ajax: -

Допустим, у вас есть 2 выпадающих parent_id и потомков: -

<select name="parent_id" id="parent_id">
  <option value="">Select ID</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

<select name="child" id="child">
  <option value="">Select Children</option>
</select>

Включите следующий ajax внизу вашей страницы: -

<script>
 $('#parent_id').change(function(){

    var parentId = $('#parent_id').val();

    $.ajax({
        url: "ajax.php",
        type: "post",
        data: {parentId: parentId}, 
        success: function(data) {
            $('select#child').html(data);
        }
    });
});
</script>

PHP-файл, где вы можете выполнить SQL-запрос на основе вашего выбора ивернуть результат в опциях: -

ajax.php

if($_POST){
    $parentId = $_POST['parentId'];
    $sql = "SELECT * FROM TABLENAME WHERE parent_id=".$parentId;
    /*
     Fetch the result, prepare options for select and echo them
    */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...