фильтрация списка со списком результатов другого списка в той же форме - PullRequest
0 голосов
/ 29 октября 2018

Я искал в Интернете решение, и ни одно из них, похоже, не работает, я пытаюсь отфильтровать параметры в комбинированном ящике, который, как предполагается, заполняется с помощью SQL-запроса, который фильтрует запись другого комбинированного списка.

Мне удалось заполнить комбинированный список из базы данных sql с помощью php, но я не могу отфильтровать результаты с помощью первого комбинированного списка.

Моя кодировка ниже;

Код запроса

<?php
$connection = mysqli_connect("", "", "", "");

$lab = mysqli_real_escape_string($_POST['LabDep']);
$results = mysqli_query($connection, "SELECT SampleID, SampleType FROM `sampletypes` WHERE Lab = $lab");

mysqli_close($connection);
?>

Код комбобокса

<select input name="SampType1">
    <?php foreach($results as $user): ?>
        <option value="<?= $user['SampleID']; ?>"><?= $user['SampleType']; ?></option>
    <?php endforeach; ?>
</select style="visibility:hidden;"/>

Код AJAX, созданный из я не знаю, сколько онлайн-руководств, поэтому, вероятно, настоящий хеш, поскольку я не использовал это раньше

<script>
function GetNames(LabDep) {
    if (genderID > 0) {
        $("#SampType1").get(0).options.length = 0;
        $("#SampType1").get(0).options[0] = new Option("Loading samples", "-1"); 

        $.ajax({
            type: "POST",
            url: "",
            data: "{Lab:" + Lab + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                $("#SampType1").get(0).options.length = 0;
                $("#SampType1").get(0).options[0] = new Option("Select name", "-1"); 

                $.each(msg.d, function(index, item) {
                    $("#SampType1").get(0).options[$("#SampType1").get(0).options.length] = new Option(item.Display, item.Value);
                });
            },
            error: function() {
                $("#SampType1").get(0).options.length = 0;
                alert("Failed to load names");
            }
        });
    }
    else {
        $("#SampType1").get(0).options.length = 0;
    }
}
</script>

в конечном итоге будет 4 комбинированных списка, для которых потребуется обновление: sampletype1, sampletype2, sampletype3 и sampletype4, это также будет видно только в том случае, если определенные количества выбраны (уже закодированы и работают)

Это так печально близко к работе, я просто не знаю, где я иду не так.

Спасибо всем заранее за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...