-2

我正在尝试将所选选项的值放入我的 PHP 中,以便我可以在查询中使用它。但是它不断返回:null

我的代码:

<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。然后我将所选选项插入到 SQL 中的 WHERE 语句中。

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);
?>

但是它一直在说:

未定义索引:未定义索引:optionsDrop in C:\Users\Me\voorraadbeheer\js\getVoorraad.php on line 4
array(0) { } NULL

如何从选择框中的选项中获取值或文本。那我可以用吗?

4

2 回答 2

0

摆脱 onSubmit="getAlles()" 并把 action="js/getVoorraad.php"

于 2013-06-04T20:44:29.477 回答
0

如果我错了,请纠正我,但不仅仅是您没有通过 getJSON 调用传递任何数据吗?( http://api.jquery.com/jQuery.getJSON/ )。

window.onload = function() 
{
    $("#optionsDrop").change(function() 
    {
        $.getJSON('js/getVoorraad.php', 
            {optionsDrop:$("#optionsDrop").val()},
            function (data) {
               refresh('#voorraadTable', data);
            }
        );
    });
}
于 2013-06-04T20:59:15.137 回答