动态JavaScript变量通过点击事件处理程序使用PHP/SQL
Dynamic JavaScript Variables Via Click Event Handler Using PHP/SQL
我正在用PHP收集的选项填充一个select标记,以导入SQL表中某个字段的所有行。表中的一行遵循以下格式:
id | wcat | wtype | was | wcc | wbdmin | wbdmax
我已经成功地完成了这一部分,但手头的下一个任务是我遇到的麻烦,因为我是一个新手,当它涉及到PHP和Javascript。
在我的点击事件处理程序中,我定义了一个变量'wtype',我将其设置为选择选项的值:
wtype = $("select[name='wtype'] :selected").val() || 0;
之后我想做的是为行导入相应的字段,并将其设置为自己的变量,即:'was', 'wcc', 'wbdmin', &"wbdmax"。然后我用这些值做一些数学运算,等等。
在做了一些研究/阅读之后,我目前正在尝试在我的js文件中定义'wtype'变量后(即使我真的不知道我在做什么):
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,而之前与测试变量值它工作。
您的javascript中有一些索引超出范围的错误。在你的选择子句中,你选择五列,这导致你在javascript中收到的数组的第一个值(这是'wtype'列的内容)在索引为零。所以你要做的是:
var data = {w : wtype};
var url = "get.php";
$.post(url, data).done(function(data) {
var winfo = $.parseJSON(data);
was = winfo[1];
wcc = winfo[2];
wbdmin = winfo[3];
wbdmax = winfo[4];
$("#result").html(winfo);
});
另外,如果您不使用wtype
列,您可以将其从查询中删除:$sql = "SELECT was, wcc, wbdmin, wbdmax FROM items WHERE wtype='".$name."'";
请注意将索引更改为相应的SELECT
子句。
我还可以看到你写了一个循环来迭代你的结果。如果我理解正确的话,每个wtype都是唯一的,并且只返回一行。如果是这样,您需要更改它:
$stmt->execute();
while ($row = $stmt->fetch()) {
$data[] = $row;
}
$data = json_encode($data);
:
$stmt->execute();
$row = $stmt->fetch();
$data = json_encode($row);
如果这对你有帮助,请告诉我。或者我误解了你的问题
相关文章:
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 如何安全地获取&使用Facebook应用程序访问令牌发送通知使用PHP&Javascript
- PHP文件没有't从Javascript应用程序获取$_POST
- 使用jquery调用vaadin应用程序表单php
- 如何创建可从多个应用程序使用的PHP登录web服务
- 如何在核心php应用程序中使用节点js json Web令牌库
- 应该如何将密码从纯html/javascript应用程序发送到php页面
- 如何使用引导程序分页器库对从PHP返回的数据进行分页
- 如何根据JavaScript函数的结果用PHP编写数据库?(FB应用程序)
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- 你能在客户端将应用程序设置为只有Javascript,在远程服务器上设置为PHP吗
- 如何在 NetBeans 中的 Java Web 应用程序项目中运行 php
- PHP 应用程序中的选项卡 - 融合图表
- JS单页应用程序和基于PHP的登录系统
- php中的简单聊天应用程序
- 如何使用jQuery通过ajax调用php类方法,但不需要任何php处理程序文件
- node.js可以选择性地引入到用普通PHP/js/CSS/HTML构建的web应用程序中吗
- 服务器上的PhantomJS-PHP执行程序无法分叉
- HTML5 Metro应用程序是否可能使用PHP中的web服务
- 我如何通过JavaScript连接到我的PHP程序所在的服务器