Динамическое раскрывающееся меню Отображает динамическое содержимое в Div

Вопрос:

У меня есть список инвентаря, хранящийся в базе данных MySQL. У меня есть форма, в которой вводится пользовательский ввод, который обновляет изменения запасов, все в таблице с столбцом “Имя товара” с раскрывающимся списком элементов и столбцом ” # In Stock настоящее время” # In Stock столбце ” # In Stock.

Вот код для моей таблицы:

<table id="updateStockTable">
<thead>
<tr>
<th>Item Name</th>
<th># In Stock</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<select required>
<option></option>
<?php
$query = mysqli_query($db, "SELECT itemName FROM SOISInventoryList ORDER BY itemName");

if(!$query){
echo "Could not grab query.";
}

else{
while($row = mysqli_fetch_assoc($query)){
echo "<option>" . $row['itemName'] . "</option>";
}
}
?>
</select>
</td>
<td>
-
</td>
</tr>
</tbody>
</table>

Выпадающий список “Имя элемента” создается через базу данных. Я хотел бы, всякий раз, когда пользователь выбирает элемент из раскрывающегося списка, чтобы этот номер позиции в запасе отображался в div в # In Stock column.

Моя проблема такова: раскрывающийся список ” Item Name генерируется через базу данных, поэтому ни один из элементов в настоящее время не имеет значения, которое является самым простым решением, которое я нашел, когда вы хотите, чтобы выпадающий список отображал содержимое в div. Использование AJAX представляется еще одним возможным решением, но я даже не уверен, как его использовать для списка инвентаря.

Я не уверен, что любая из этих идей является правильным или лучшим решением, и если да, то каким образом я буду использовать любой из них.

РЕДАКТИРОВАТЬ:

Поэтому я решил пойти с методом AJAX. У меня есть отдельный файл PHP, который просто возвращает числа в запасе из базы данных, и теперь я пытаюсь использовать это, чтобы вытащить количество, которое мне нужно для главной страницы. Мне сказали, что мне нужно использовать событие изменения, чтобы инициировать каждое новое значение, и использовать запрос AJAX, но я не знаю, как это сделать, и буду признателен за любую помощь, которую любой может предложить!

Лучший ответ:

Итак, вот решение, которое я придумал:

Я настраиваю отдельный php файл с запросом, который захватывает текущий выбранный элемент раскрывающегося списка и извлекает соответствующее число в значении запаса из базы данных MySQL:

$receivedString = null;

if ($_GET["item"] != ""){
    $receivedString = $_GET["item"];
}

if($receivedString != null){
    //Check connection
    $db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to SOIS MySQL server with error: ' . mysqli_connect_error());

    $query = mysqli_query($db, "SELECT numInStock FROM SOISInventoryList WHERE id =  $receivedString");

    if (!$query){
        echo "Could not find query.";
    }

    while($row = mysqli_fetch_assoc($query)){
        echo $row['numInStock'];
    }
}

А затем используется функция jQuery.change(), поэтому, когда элемент в раскрывающемся списке изменяется, я могу вызвать отдельный файл php.

$(function(){
$('#itemNameDropDown').change(function(){
    var SelectedItem = $(this).val();
    //Sending the selected item value to the php file as JSON
    //Assuming that the php file is setup to consume $_GET variables
    $.get('grab-num-in-stock.php', {"item": SelectedItem})
    .done(function(returnedData){
    //Assuming just a string is returned right now
        $('.numInStockCol').text(returnedData);
    });
});

});

Оцените статью
TechArks.Ru
Добавить комментарий