gpt4 book ai didi

PHP 选择过滤器

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:28 24 4
gpt4 key购买 nike

我有一个包含人员列表的页面。

现在我想通过下拉选择来过滤它们。

这是我的代码:

<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 是连接。

该网站是多语言的,这就是为什么我有两个不同语言的字段。

最佳答案

检查下面的代码。如果表单已提交,请向查询添加条件。

$query = "SELECT * FROM team";
// declare the variable
// check if the form is submitted and have a valid search value
if(isset($_POST['submit']) && (trim($_POST['specialties'])!='') && (trim($_POST['specialties'])!='ALL')) {
//add the condition
$query.= " WHERE specialties_en='".trim($_POST['specialties'])."'";
}

您可以根据 OR 条件的语言修改条件。

始终检查用户输入是否存在 sql 注入(inject)。

关于PHP 选择过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37037052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com