javascript - 将数据发送到 php 以从数据库中重新运行数据
问题描述
我想获取具有特定名称的所有用户,并且此名称在 javascript 变量中,并且此代码不起作用我应该怎么做?
<table id="table">
<tr>
<td>id</td>
<td>name</td>
<td>info</td>
</tr>
</table>
<script>
var table = document.getElementById("table");
$.ajax({
type:"POST",
url:"process.php",
data:{name:"mike"}
});
</script>
<?php include 'process.php'; ?>
<?php foreach ($users as $user) : ?>
<script>
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML="<?= $user->id ?>";
cell2.innerHTML="<?= $user->name ?>";
cell3.innerHTML="<?= $user->info ?>";
</script>
<?php endforeach; ?>
php
$name = $_POST["name"];
$database = [
'host' => 'localhost',
'dbname' => 'dbname',
'user' => 'user',
'pass' => ''
];
try {
$db = new PDO("mysql:host={$database['host']};dbname={$database['dbname']}", $database['user'], $database['pass']);
} catch (PDOException $e) {
die("An error happend, Error: " . $e->getMessage());
}
function getAllUsers(){
global $db;
$sql = "SELECT * FROM users WHERE $name = name";
$stmt = $db->prepare($sql);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_OBJ);
}
$users = getAllUsers();
错误是“第 2 行的 process.php 中未定义的数组键“名称””你能帮我将数据发送到我的 php 文件并获得基于此的查询吗
解决方案
我会实现你想要的......
html
<table id="table">
<tr>
<td>id</td>
<td>name</td>
<td>info</td>
</tr>
</table>
<div id="scriptsforTable"> </div>
<script>
$.ajax({
type:"POST",
url:"process.php",
data:{name:"mike"},
success:function(data) {
$("scriptsforTable").html(data);
}
});
</script>
进程.php
$name = $_POST["name"];
$database = [
'host' => 'localhost',
'dbname' => 'dbname',
'user' => 'user',
'pass' => ''
];
try {
$db = new PDO("mysql:host={$database['host']};dbname={$database['dbname']}", $database['user'], $database['pass']);
} catch (PDOException $e) {
die("An error happend, Error: " . $e->getMessage());
}
function getAllUsers(){
global $db;
$sql = "SELECT * FROM users WHERE $name = name";
$stmt = $db->prepare($sql);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_OBJ);
}
$users = getAllUsers();
echo '<script>var table = document.getElementById("table");</script>';
foreach ($users as $user) :
echo '<script>
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML='.$user->id.';
cell2.innerHTML='.$user->name.';
cell3.innerHTML='.$user->info.';
</script>';
endforeach;
这可能有一些javascript错误,您可以轻松解决。
推荐阅读
- scala - 在 ScalaTest/sbt/Intellij 中运行之前如何删除目录?
- c++ - C++ 中的 Max & Min 1 函数
- python - Matplotlib 直方图看起来不正确(只有一个 bin)
- python - 如何在python中对文本执行K-means聚类?
- python - 使用 PyMongo 将特征类型从字符串更改为浮点
- python - 如何使用正则表达式从数据框中删除一些标点符号
- javascript - 当值与模板属性匹配时在循环中显示模板
- typescript - 在自定义 NPM 包中找不到类型声明文件
- r - 替换R中字符串向量中的第一个字符
- mysql - NodeJS 中的存储过程输出