我正在使用 PHP 收集的选项填充一个选择标记,以导入 SQL 表中某个字段的所有行。我表中的一行遵循以下格式:
id | wcat | wtype | was | wcc | wbdmin | wbdmax
我已经成功地完成了这部分,但是手头的下一个任务是我遇到的麻烦,因为我是 PHP 和 Javascript 的新手。
在我的点击事件处理程序中,我定义了一个变量“wtype”,我将其设置为选择选项的值:
wtype = $("select[name='wtype'] :selected").val() || 0;
之后我希望做的是为具有匹配'wtype'的行导入相应的字段并将它们设置为它们自己的变量,即。“是”、“wcc”、“wbdmin”和“wbdmax”。之后我使用这些值来做一些数学运算等。
在做了一些研究/阅读之后,在我定义了“wtype”变量之后,我目前正在我的 js 文件中尝试以下操作(即使我真的不知道我在做什么):
var data = {w : wtype};
var url = "get.php";
$.post(url, data).done(function(data) {
var winfo = $.parseJSON(data);
was = winfo[3];
wcc = winfo[4];
wbdmin = winfo[5];
wbdmax = winfo[6];
$("#result").html(winfo);
});
并在get.php
:
<?php
$host = "****";
$dbname = "****";
$user = "****";
$pass = "****";
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$name = $_POST["w"];
$sql = "SELECT wtype, was, wcc, wbdmin, wbdmax FROM items WHERE wtype='".$name."'";
$stmt = $conn->prepare($sql);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
if ($stmt) {
try {
$stmt->execute();
while ($row = $stmt->fetch()) {
$data[] = $row;
}
$data = json_encode($data);
}
catch (PDOException $e) {
var_dump($e);
}
}
?>
这显然不起作用,因为我的数学结果是 NaN/undefined,而在使用测试变量值之前它起作用了。