Я пытаюсь получить значение моей выбранной опции в своем PHP, чтобы я мог использовать ее в запросе. Однако он постоянно возвращается: null
GET выбранная опция для PHP
Мой код:
<form onsubmit="getAlles()" method = "get">
<select name="optionsDrop" id = "optionsDrop" class="buttons">
</select>
<input name="submitbutton" type="submit" value="submit" onclick = 'refresh()' />
</form>
Javascript:
window.onload= function getAlles()
{
$.getJSON('js/getVoorraad.php', function (data) {
refresh('#voorraadTable', data);
});
function refresh (tbBodyId, data) {
var i, j;
arrHTML = [];
console.log(data);
for (i = 0; i < data.length; i++) {
arrHTML.push('<tr>');
for (j= 0; j < data[i].length; j++) {
arrHTML.push('<td>' + data[i][j] + '</td>');
}
arrHTML.push('<td>' + "<input type = 'number' value = '1' min = '1' style=\"width: 40px;\" onKeyUp=\"this.style.width = Math.max(40,this.value.length*13)+'px';\"></input>" + '</td>');
arrHTML.push('<td>' + "<button class='but' onClick = 'replyClick(this.id)'>Voeg toe</button>" + '</td>');
arrHTML.push('</tr>');
}
$(tbBodyId).html(arrHTML.join(''));
}
}
Варианты вставляются из базы данных. Что я хочу сделать: выберите вариант из окна выбора, который затем будет передан PHP. Затем я вставляю выбранную опцию в инструкцию WHERE в SQL.
PHP код:
<?php
header('Content-type: application/json');
$selectedoption = $_GET['optionsDrop'];
var_dump($_GET);
var_dump($selectedoption);
$accdbFilename = "C:\Users\Me/Proftaak DBB.accdb";
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$accdbFilename", "", "");
$qFormat = <<<EOQ
select l.Naam, ac.catomschrijving, Aantal
from voorraad vo, locatie l, artikelcategorie ac
where vo.typeNr = ac.typeNr
and l.locatieNr = vo.locatieNr
and l.Naam = '%s'
EOQ;
var_dump($qFormat);
$query = sprintf($qFormat, $selectedoption);
var_dump($query);
$result = odbc_exec($connection, $query);
$rs = [];
for ($rownr = 0; odbc_fetch_row($result); $rownr++) {
for($colnr = 1; $colnr <= odbc_num_fields($result); $colnr++) {
$rs[$rownr][] = odbc_result($result, $colnr);
}
}
echo json_encode($rs);
odbc_close($connection);
?>
Однако он продолжает говорить:
Undefined индекс: Undefined индекс: optionsDrop в C: \ Users \ Me \ voorraadbeheer \ JS \ getVoorraad.php на линии
массив (0) {} NULL
Как получить значение или текст из опции в поле выбора. Так я могу использовать его?
проверьте в консоли своего браузера, как (firebug), что происходит в GET. и когда вы вызываете 'refresh()' on onsubmit, почему это связано с любыми параметрами? –
Вы не передаете какой-либо аргумент вашему скрипту PHP. Вот почему вы сталкиваетесь с этой проблемой. –