jquery — получение выбранных флажков в переменную PHP, которые я затем могу просмотреть непосредственно ниже

Я хочу поместить все значения из выбранных флажков в свою собственную переменную PHP. Эти флажки имеют свои значения, сгенерированные PHP / SQL. Эта же переменная должна быть показана в простой <div> ниже выпадающих списков. Я также использую плагин Bootstrap Multiselect. Но я получаю null ценность из моего var_dump() тестовое задание.

вот что я пытался до сих пор:

<form id="menu1" method="POST" action="index.php">
<h2>Area Code</h2>
<select id="multi-select1" name="multi_select1[]" multiple="multiple">
<?php
//The query asking from our database
$areaCodeSQL = "SELECT ac.Number AS `AreaCode`, ac.Name AS `AreaName`
FROM `AreaCodes` ac";                                                               //SQL query: From the table 'AreaCodes' select 'Number' and put into 'AreaCode', select Name and put into 'AreaName'

$areaCodeResults = $conn->query($areaCodeSQL);                                                      // put results of SQL query into this variable

if ($areaCodeResults->num_rows > 0) {                                                               // if num_rows(from $results) is greater than 0, then do this:
// output data of each row
foreach($areaCodeResults as $areaCodeResult)                                        //for each item in $areCodeResults do this:
{
$areaNameAndCode =  $areaCodeResult['AreaCode'] ." ". $areaCodeResult['AreaName'];  //get AreaCode and AreaName from query result and concat them
$areaName = $areaCodeResult['AreaName'];                                    // get AreaName
$areaCode = $areaCodeResult['AreaCode'];                                    //get AreaCode

?><option class="menuoption1" name="menuAreaCode" value="<?php echo $areaCode ?>"  ><?php echo $areaNameAndCode; ?></option><?php  //Create this option element populated with query result variables
}
}
$result = $_POST['multi_select1'];
?>
</select>
</form>
<div id="showResults1"><?php var_dump($result) ?></div>

Однако я могу выполнить то, что хочу, используя jQuery, но я хочу иметь возможность отправлять эти значения в базу данных, и мой преподаватель хочет, чтобы они были в переменных PHP. Я знаю, что могу использовать AJAX для отправки их в свою базу данных, но этого хочет мой преподаватель. Я не знаю, нахожусь ли я на правильном пути, поэтому любая помощь очень ценится

1

Решение

При самом первом запуске вы ничего не прочитаете из этой переменной POST, так что обрабатывайте это.
Попробуйте этот код, он должен работать:

<form id="menu1" method="POST">
<h2>Area Code</h2>
<select id="multi-select1" name="multi_select1[]" multiple="multiple" action="index.php">
<?php
//The query asking from our database
$areaCodeSQL = "SELECT ac.Number AS `AreaCode`, ac.Name AS `AreaName`FROM `AreaCodes` ac";                                                               //SQL query: From the table 'AreaCodes' select 'Number' and put into 'AreaCode', select Name and put into 'AreaName'
$areaCodeResults = $conn->query($areaCodeSQL);                                                      // put results of SQL query into this variable

if ($areaCodeResults->num_rows > 0) {                                                               // if num_rows(from $results) is greater than 0, then do this:
// output data of each row
foreach($areaCodeResults as $areaCodeResult) { ?>
<option class="menuoption1" name="menuAreaCode" value="<?php echo $areaCodeResult['AreaCode'] ?>"  ><?php echo $areaCodeResult['AreaCode'] ." ". $areaCodeResult['AreaName']; ?></option>
<?php } ?>
</select>
<input type="submit" value="Send" />
</form>
<div id="showResults1">
<?php
$result = isset($_POST['multi_select1']) ? $_POST['multi_select1'] : [];
var_dump($result);
?>
</div>
1

Другие решения

Других решений пока нет …