首先发布在这里。我是一个非常新的PHP和我在互联网上做过的所有研究,这段代码是我能找到接近我答案的最接近的东西。
问题:我正在尝试从用户存储的PhpMyAdmin中获取本地数据库中的图书数据。用户将搜索关键字,并在表格中显示紧密匹配的项目的结果。就像craigslist当你输入一个关键字并显示相关结果但这一次,它在一个表中,“ISBN,Title,Author,Class,Edition”作为字段。我与我在PhpMyAdmin本地创建的名为nextbook的数据库建立了连接。
以下是整个文件“View_Search_Results_Table.php”,但分为两部分:
<?php
if(isset($_POST['search'])) {
$valueToSearch = $_POST['valueToSearch'];
$query = "SELECT * FROM `books` WHERE CONCAT('ISBN', 'Title',
'Author', 'Class', 'Edition') LIKE '%".$valueToSearch."%'";
$search_result = filterTable($query);
}
else {
$query = "SELECT * FROM books";
$search_result = filterTable($query);
}
function filterTable($query)
{
$connect = mysqli_connect("localhost", "Admin1", "local", "nextbook");
$filter_Result = mysqli_query($connect, $query);
return $filter_Result;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
</script>
<script src="http://ie7-
js.googlecode.com/svn/version2.1(beta4)/IE9.js">
</script>
<meta name="viewport" content="width=device-width, initial-scale=1,
maximum-scale=1">
<link rel="stylesheet"
href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"
/>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-
1.4.5.min.js"></script>
</head>
<body>
<form action="View_Search_Results_Table.php" method="post">
<input type="text" name="valueToSearch" placeholder="Value To Search">
<br><br>
<input type="submit" name="search" value="Filter"><br><br>
<table border="1px solid black;">
<tr>
<th>ISBN</th>
<th>Title</th>
<th>Author</th>
<th>Class</th>
<th>Edition</th>
</tr>
<?php while($row = mysqli_fetch_array($search_result)):?>
<tr>
<td><?php echo $row['ISBN'];?></td>
<td><?php echo $row['Title'];?></td>
<td><?php echo $row['Author'];?></td>
<td><?php echo $row['Class'];?></td>
<td><?php echo $row['Edition'];?></td>
</tr>
<?php endwhile;?>
</table>
</form>
</body>
</html>
答案 0 :(得分:0)
你能告诉我你的$ _POST ['valueToSearch']值是什么样的吗?这只是从一个输入字段生成的吗?
您最需要的是更新的查询。首先尝试..
$query = "SELECT * FROM `books` WHERE `ISBN` LIKE '%".$valueToSearch."%' OR `Title` LIKE '%".$valueToSearch."%' OR
`Author` LIKE '%".$valueToSearch."%' OR `Class` LIKE '%".$valueToSearch."%' OR `Edition` LIKE '%".$valueToSearch."%'";
此查询需要进一步完善,但我需要了解有关您的输入和表格的更多信息。