我有一个问题。有没有办法在我的 PHP 程序中搜索关键字?例如,如果数据库中有一个全名 Joe smith。如果我只搜索乔它就不会出现?但如果我精确搜索 Joe Smith,它就会出现。我想查看所有带有史密斯的名字。但它没有显示它
<?php
session_start();
if($_SESSION['username'])
{
//Include the connection file
include "connection.php";
$sql = "SELECT * FROM users ";
if (isset($_POST['search'])) {
$search_term = mysql_real_escape_string($_POST['search_box']);
$sql .= "WHERE fullname = '{$search_term}' ";
$sql .= " OR username = '{$search_term}' ";
$sql .= " OR address = '{$search_term}' ";
$sql .= " OR id = '{$search_term}' ";
}
$query = mysql_query($sql) or die(mysql_error());
echo '<FORM METHOD="LINK" ACTION="member.php">
<INPUT TYPE="submit" VALUE="Back">
</FORM>';
echo '<FORM METHOD="LINK" ACTION="display_data.php">
<INPUT TYPE="submit" VALUE="Refresh">
</FORM>';
}
else
{
die("You must be logged in!");
}
?>
<form name="search_form" method="POST" action="display_data.php">
Search: <input type='text' name='search_box' value='' />
<input type='submit' name='search' value='Search'>
</form>
<input type="button" onclick="printDiv('printableArea')" value="Print" />
<div id="printableArea">
<table width="70%" cellpadding="5" cellspace="5">
<tr>
<td><strong>ID</strong></td>
<td><strong>Fullname</strong></td>
<td><strong>Username</strong></td>
<td><strong>Address</strong></td>
</tr>
<?php while ($row = mysql_fetch_array($query)) { ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['fullname']; ?></td>
<td><?php echo $row['username']; ?></td>
<td><?php echo $row['address']; ?></td>
</tr>
<?php }?>
</div>
</table>
<script>
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
抱歉,我的英语确实不太好,但请尝试理解这些句子。
我还可以问一下如何打印带有Logi的可打印区域吗? Tnx:))))
最佳答案
您可以尝试LIKE
而不是=
。
示例;
SELECT aut_name, country FROM author WHERE aut_name LIKE 'W%';
并在您的代码中
$sql = "SELECT * FROM users ";
if (isset($_POST['search'])) {
$search_term = mysql_real_escape_string($_POST['search_box']);
$sql .= "WHERE fullname LIKE '%{$search_term}%' ";
$sql .= " OR username LIKE '%{$search_term}%' ";
$sql .= " OR address LIKE '%{$search_term}%' ";
$sql .= " OR id LIKE '%{$search_term}%' ";
关于PHP搜索关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21507663/