我正在使用PHP收集的选项来填充选择标记,以导入SQL表中某个字段的所有行。在我的表中的一行格式如下:使用PHP/SQL通过Click事件处理程序获取动态JavaScript变量
id | wcat | wtype | was | wcc | wbdmin | wbdmax
我这部分成功完成,但手头上的下一个任务是我在与因为我是一个新手,当涉及到PHP和JavaScript什么麻烦。
在我的单击事件处理程序我定义一个变量“WTYPE”这是我设置为选择选项的值:
wtype = $("select[name='wtype'] :selected").val() || 0;
我希望做后导入相应的字段的一行匹配'wtype'并将它们设置为它们自己的变量,即。 'was','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 /不确定的,而与测试变量前值,它的工作工作。
更新:我相当确定问题在于编码/解码JSON并将数组传递给JavaScript变量。 – tenub 2013-03-22 18:56:55