PHP search框代码
时间: 2023-12-23 16:56:37 浏览: 66
以下是一个基本的 PHP 搜索框代码:
```html
<form action="search.php" method="GET">
<input type="text" name="query" placeholder="Search...">
<button type="submit">Search</button>
</form>
```
这个搜索框将用户输入的搜索词作为 GET 请求发送到 `search.php` 文件。在 `search.php` 文件中,你可以获取搜索词并使用它来查询数据库或其他数据源。
以下是一个简单的 `search.php` 文件,它将搜索词直接输出到页面上:
```php
<?php
if(isset($_GET['query'])) {
$searchTerm = $_GET['query'];
echo "You searched for: " . $searchTerm;
}
?>
```
当用户提交搜索表单时,`search.php` 文件将输出一个类似以下内容的消息:
```
You searched for: [用户输入的搜索词]
```
你可以根据你的需求修改这个代码,例如将搜索词用于数据库查询,或者在页面上显示相关的搜索结果。
相关问题
PHP search框代码,要求自动检索输入的文本并输出表单,不需要点search按钮
以下是一个简单的 PHP 搜索框代码,实现了在输入时自动检索并输出表单,不需要点击搜索按钮:
```php
<?php
// 数据库连接代码
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 获取搜索框中输入的内容
$search = $_POST["search"];
// 查询数据库中匹配的记录
$sql = "SELECT * FROM myTable WHERE name LIKE '%".$search."%'";
$result = mysqli_query($conn, $sql);
// 输出表单
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
<!-- HTML 表单,包含一个搜索框 -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="search" onkeyup="showResult(this.value)">
<div id="searchResult"></div>
</form>
<!-- 显示搜索结果的 JavaScript 代码 -->
<script>
function showResult(str) {
if (str.length==0) {
document.getElementById("searchResult").innerHTML="";
return;
}
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("searchResult").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","getresult.php?q="+str,true);
xmlhttp.send();
}
</script>
```
以上代码中,`$_POST["search"]` 用于获取搜索框中输入的内容,`SELECT * FROM myTable WHERE name LIKE '%".$search."%'"` 用于查询数据库中匹配的记录,`<div id="searchResult"></div>` 用于显示搜索结果。JavaScript 代码中的 `showResult()` 函数用于发送 Ajax 请求获取搜索结果,并将结果显示在 `searchResult` 元素中。
使用layui,php实现选择框选择不同日期,显示不同日期的订单的代码
首先,需要在页面上引入 layui 的相关文件和 jQuery,如下所示:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>订单查询</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="layui/layui.js"></script>
</head>
<body>
<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">订单查询</div>
<div class="layui-card-body">
<form class="layui-form" action="" method="POST">
<div class="layui-form-item">
<label class="layui-form-label">选择日期</label>
<div class="layui-input-inline">
<select name="date" lay-verify="required" lay-search>
<option value="">请选择日期</option>
<option value="2021-01-01">2021-01-01</option>
<option value="2021-01-02">2021-01-02</option>
<option value="2021-01-03">2021-01-03</option>
</select>
</div>
<div class="layui-input-inline">
<button class="layui-btn" lay-submit lay-filter="formDemo">查询</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
```
这里使用了 layui 的表单组件来实现选择框和提交按钮,并使用了 lay-verify 属性进行表单验证。
接下来,需要编写 PHP 代码来处理查询操作和显示订单信息。假设订单信息保存在一个名为 `orders` 的数组中,可以按照如下方式实现:
```php
<?php
// 订单信息
$orders = array(
array('id'=>1, 'date'=>'2021-01-01', 'name'=>'张三', 'price'=>100),
array('id'=>2, 'date'=>'2021-01-02', 'name'=>'李四', 'price'=>200),
array('id'=>3, 'date'=>'2021-01-03', 'name'=>'王五', 'price'=>300),
array('id'=>4, 'date'=>'2021-01-01', 'name'=>'赵六', 'price'=>400),
array('id'=>5, 'date'=>'2021-01-02', 'name'=>'钱七', 'price'=>500),
array('id'=>6, 'date'=>'2021-01-03', 'name'=>'孙八', 'price'=>600),
);
// 处理查询操作
if(isset($_POST['date'])) {
$date = $_POST['date'];
$result = array();
foreach($orders as $order) {
if($order['date'] == $date) {
$result[] = $order;
}
}
}
// 显示订单信息
if(isset($result)) {
echo '<table class="layui-table">';
echo '<thead><tr><th>ID</th><th>日期</th><th>姓名</th><th>价格</th></tr></thead>';
echo '<tbody>';
foreach($result as $order) {
echo '<tr>';
echo '<td>'.$order['id'].'</td>';
echo '<td>'.$order['date'].'</td>';
echo '<td>'.$order['name'].'</td>';
echo '<td>'.$order['price'].'</td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
}
?>
```
这里首先判断是否有提交数据,如果有则根据选择的日期筛选订单信息,并将结果保存在 `$result` 数组中。最后通过循环遍历结果并输出表格来显示订单信息。
完整的代码如下所示:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>订单查询</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="layui/layui.js"></script>
</head>
<body>
<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">订单查询</div>
<div class="layui-card-body">
<form class="layui-form" action="" method="POST">
<div class="layui-form-item">
<label class="layui-form-label">选择日期</label>
<div class="layui-input-inline">
<select name="date" lay-verify="required" lay-search>
<option value="">请选择日期</option>
<option value="2021-01-01">2021-01-01</option>
<option value="2021-01-02">2021-01-02</option>
<option value="2021-01-03">2021-01-03</option>
</select>
</div>
<div class="layui-input-inline">
<button class="layui-btn" lay-submit lay-filter="formDemo">查询</button>
</div>
</div>
</form>
<?php
// 订单信息
$orders = array(
array('id'=>1, 'date'=>'2021-01-01', 'name'=>'张三', 'price'=>100),
array('id'=>2, 'date'=>'2021-01-02', 'name'=>'李四', 'price'=>200),
array('id'=>3, 'date'=>'2021-01-03', 'name'=>'王五', 'price'=>300),
array('id'=>4, 'date'=>'2021-01-01', 'name'=>'赵六', 'price'=>400),
array('id'=>5, 'date'=>'2021-01-02', 'name'=>'钱七', 'price'=>500),
array('id'=>6, 'date'=>'2021-01-03', 'name'=>'孙八', 'price'=>600),
);
// 处理查询操作
if(isset($_POST['date'])) {
$date = $_POST['date'];
$result = array();
foreach($orders as $order) {
if($order['date'] == $date) {
$result[] = $order;
}
}
}
// 显示订单信息
if(isset($result)) {
echo '<table class="layui-table">';
echo '<thead><tr><th>ID</th><th>日期</th><th>姓名</th><th>价格</th></tr></thead>';
echo '<tbody>';
foreach($result as $order) {
echo '<tr>';
echo '<td>'.$order['id'].'</td>';
echo '<td>'.$order['date'].'</td>';
echo '<td>'.$order['name'].'</td>';
echo '<td>'.$order['price'].'</td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
}
?>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
```
阅读全文