Php 如何向现有搜索结果添加筛选器
背景: 我目前有一个设置,人们可以在页面上看到他们没有的BB卡。我希望他们能够过滤掉现有的列表来缩小范围 如何在现有的搜索结果中添加一个带有PHP的过滤器,以便他们能够对其进行分解?以下是我现有的相关代码:Php 如何向现有搜索结果添加筛选器,php,sql,Php,Sql,背景: 我目前有一个设置,人们可以在页面上看到他们没有的BB卡。我希望他们能够过滤掉现有的列表来缩小范围 如何在现有的搜索结果中添加一个带有PHP的过滤器,以便他们能够对其进行分解?以下是我现有的相关代码: <div id="col2"><br><br><center>Your Baseball Cards<center><br><br><br> <?php $servername = "***
<div id="col2"><br><br><center>Your Baseball Cards<center><br><br><br>
<?php
$servername = "********";
$username = "******";
$password = "*******";
$dbname = "*******";
$username1=$_SESSION['activeusername'];
$userid = $_SESSION['activeid'];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM useritems JOIN (users, iteminfo) on (users.id=useritems.UserID AND iteminfo.ID=useritems.ItemID) AND userid!='$userid' LIMIT 100";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "<a href='iteminfo.php?id=". $row['id']."'><div id='frame'>
<div id='splash-image' style='background: url(".$row['imagename']."); background-size:cover;'></div>
<div id='text'>
<table >
<tr>
<td>Player:</td>
<td>".$row["player"]."</td>
</tr>
<tr>
<td>Brand:</td>
<td>".$row["brand"]."</td>
</tr>
<tr>
<td>Year:</td>
<td>".$row["year"]."</td>
</tr>
<tr>
<td>Price:</td>
<td>".$row['price']."</td>
</tr>
</table>
</div>
</div>";
}
} else {
echo "You Have No Baseball Cards!!!";
}
mysqli_close($conn);
?>
</div>
<div id="col3">column 3</div>
<div id="footer">footer</div>
</body>
</head>
<html>
我不太确定你想要过滤什么,但我假设你的意思是用户可以根据玩家、品牌、年份等进行过滤。如果是这样,那么你可以在SQL语句中添加WHERE子句 下面是一个使用按玩家过滤的示例,假设您有一个元素和一个表单要提交
$where_clause = "AND player='" . filter_var($_POST['player'], FILTER_SANITIZE_STRING) . "'";
$sql = "SELECT * FROM useritems JOIN
(users, iteminfo) ON (users.id=useritems.UserID AND iteminfo.ID=useritems.ItemID)
WHERE userid != '$userid' $where_clause LIMIT 100";
如果需要,您可以在具有多个输入的循环中执行此操作,并将用户输入的任何附加筛选器附加到WHERE子句。您可以提供输入数据和预期结果的示例,以及当前发生的情况吗?现在要确定你的目标有点难。@RobbieAverill我在这方面真的很差……让我试着解释一下,也许你不能给我指出正确的方向。现在,当人们访问此页面时,他们会被一堆他们没有的BBCard丢弃!=搜索…当人们注册卡片时,浏览变得难以管理。我想设置一些东西来过滤所有他们没有的卡。我不知道我是在寻找一个常规的搜索功能,还是一个过滤现有搜索结果的特殊功能Brian,谢谢!有没有办法让用户通过HTML进行过滤?我不确定我是否理解你的问题。他们想筛选哪些字段?你可以使用一个简单的形式:Player:Brand:我显然没有很好地解释这一点…Player,Brand,是的,Price…所以现在他们可以滚动,就像棒球卡的pintrest feed…但是假设他们想要一个Andre Dawson,1989年的Fleer卡…我希望他们能够过滤到一边,并使用表格过滤,看看是否有人说他们有一张。我遇到的困难是,一旦页面提供了您在上面看到的搜索结果,我不知道如何让用户过滤搜索结果以使其更具管理性。Gableyou需要使用Javascript来做到这一点。如果您不想下载整个列表来显示页面,那么还需要使用AJAX发送过滤请求。Pinterest等网站使用AJAX动态加载和过滤结果。AJAX请求可以与PHP服务器进行对话,PHP服务器执行实际的查询。谢谢Brian,我希望这不是一条路线……有很多东西需要学习