【发布时间】:2016-05-04 20:06:23
【问题描述】:
我有一个包含人员列表的页面。
现在我想用下拉选择过滤它们。
这是我的代码:
<main>
<div class="wrapper">
<div class="team-list">
<h3><?php echo $teamTitle; ?></h3>
<div class="filter">
<label for="filter"><?php echo $specialtiesTitle; ?></label>
<form action="" method="post">
<div class="form-item">
<select name="specialties">
<?php
$query = "SELECT * FROM specialties";
$result = mysqli_query($connection, $query);
echo '<option selected="selected" value="All">'. $filterTitle . '</option>';
while($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['title_'.$lang];
echo '<option value="' . $id . '">' . $title . '</option>';
}
?>
</select>
</div>
<div class="form-item">
<input class="form-submit" type="submit" name="submit" value="<?php echo $filterSubmit; ?>">
</div>
</form>
</div>
<div class="content">
<?php
$query = "SELECT * FROM team";
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$image = $row['image'];
$title = $row['title_'.$lang];
echo '<div class="row">';
echo '<div class="image"><img src="/uploads/' . $image . '"></div>';
echo '<a class="title" href="/team-view?id=' . $id . '">' . $title . '</a>';
echo '<a class="more" href="/team-view?id=' . $id . '">' . $teamMore . '</a>';
echo '</div>';
}
?>
</div>
</div>
</div>
</main>
从代码中可以看出,第一部分具有从数据库接收选择的 div 过滤器。
这一行:
echo '<option selected="selected" value="All">'. $filterTitle . '</option>';
是一个附加选项,值为“All”,其他选项来自“specialties”表。
第二部分是从“团队”表中提取的内容。 我将“专业”表中的类别与“团队”表相关联。
在我的自定义 CMS 的管理区域中,一切正常,当我更改“专业”类别时,它成功保存在数据库中。
目前页面显示所有字段,但我没有过滤功能。
如何过滤内容?
我知道我必须使用:
if(isset($_POST['submit'])) {
//the code inside
}
但我应该使用什么查询来进行此类过滤?
编辑: 通过过滤我的意思是,当我有列表内容并且从顶部开始时,我有一个选择下拉和搜索按钮。因此,如果我选择让我们说选项中的第一个值并单击提交,它应该只显示内部具有第一个类别值的内容。
在“团队”表中,我有很多字段,这些是连接:
id
specialties_bg
specialties_en
这是“专业”表
id
title_bg
title_en
Title_bg 和 title_en 具有所有选项值,id 是连接。
该网站是多语言的,这就是为什么我有两个不同语言的字段。
【问题讨论】:
-
过滤是什么意思能具体解释一下你要过滤什么吗???
-
$id = $row['id'];时,将值设置为$search而不是$id -
@Umair Shah Yousafzai 我的意思是当你有一个列表页面时,有一个搜索下拉菜单,当你从下拉菜单中选择一个并单击提交时,它应该过滤内容。它就像一个搜索引擎,但不是搜索词,而是选择值。
-
@user2519032 :啊哈......你的意思是你的内容存储在哪里?我的意思是在一个数组中或者从哪里来???
-
内容存储在数据库中的“团队”表中。在该表上,有一个与“Specialties”表相关的“specialty”字段及其 ID,我正在建立联系。