【发布时间】:2023-03-28 07:56:01
【问题描述】:
我正在尝试从用户那里获取输入,然后将其发布到另一个 PHP 脚本以将输入用于 MariaDB 查询。
Index.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="robots" content="index, follow">
<meta name="viewport" content="width=device.width, inital-scale=1">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- jQuery UI library -->
<link rel="stylesheet"
href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<!-- Initialise autocomplete -->
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<form>
<input type="text" id="name" name="search" placeholder="Enter Gene Name...">
<button id="searchBtn" type="button" name="btn" onclick="post()" >Search</button>
</form>
<script>
function post() {
var name = document.getElementById("name").value;
$.ajax({
type : "POST",
url : "search.php",
data : { name : name},
success: function(res){
}
});
}
</script>
</body>
</html>
Search.php
<?php
$name = $_POST['name'];
echo $name;
$dbhost = 'localhost';
$dbuser = '****';
$dbpass = '****';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
// select and print all from database
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM cardiomic_database.genes WHERE gene LIKE '%".$name."%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["gene"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
我认为有很多错误。这个想法是在文本文件中使用 id="name" 获取用户输入,该文本文件应该发布到 search.php 并在 DB 查询中使用。我没有任何错误,它只是不工作。有什么建议吗?
【问题讨论】:
-
你为什么使用ajax?您需要不重新加载页面吗?
-
什么究竟不能使用该代码?你有什么努力让它发挥作用?
标签: javascript php html mysql mariadb