[英]send data to php to retrun data from database
我想获取具有特定名称的所有用户,并且该名称位于 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 错误,您可以轻松解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.