在我的网站上,我有一个显示推荐的页面。我写了这段代码来显示我在数据库中的所有推荐。
到目前为止,这是我的代码:
while ( $row = mysqli_fetch_array( $r, MYSQLI_ASSOC)) {
$testimonial = $row['testimonial'];
//echo $testimonial;
$mytestimonial = nl2br($testimonial);
$city = $row['city_name'];
$name = $row['name'];
$url = $row['web_address'];
$imageName = $row['image_name'];
$type = $row['membership_type'];
}
使用此代码,我可以将所有推荐信都放到页面上。它非常适合我。我的问题是现在我需要根据其类型过滤我的推荐。我的数据库中有3种不同的推荐。 (导师,学院,学生)
我将使用选择框来过滤数据。从选择框中选择一个选项时,我需要根据所选类型显示推荐。
<div class="filter-box">
<div id="select_box">
<form method="post" action="">
<div class="variation2">
<label>Filter By</label>
<select class="select">
<option>Tutor</option>
<option>Institute</option>
<option>Student</option>
</select>
</div>
</form>
</div>
</div>
有人能让我朝这个方向前进吗?
谢谢
答案 0 :(得分:0)
一旦用户选择了3个选项中的一个并显示您所需的推荐,为什么不动态重新加载选择框(使用AJAX)。我想这将解决您的问题。
答案 1 :(得分:0)
因此,您希望根据其类型
选择推荐$q = "SELECT testimonial, city_name, name, web_address, image_name, membership_type
FROM testimonials
INNER JOIN city ON city.city_id = testimonials.city_id
WHERE type = '$type'
ORDER BY date_added DESC LIMIT $start, $display";
现在您还希望从用户那里获取类型
<select name="type" class="select">
使用POST
$type = $_POST['type'];
在更改示例
上自动提交表单使用Javascript:
<script type="text/javascript">
function submitform(){
document.frmType.submit();
}
</script>
形式:
<form name="frmType" method="post" action="">
<select name="type" class="select" onchange="submitform()">
可以找到更多示例here
答案 2 :(得分:0)
你有几个选择。第一个是ajax。 第二是提交表格onchange或onsubmit:
<select class="select" name="type" onchange="document.forms[0].submit();">
<option value="Tutor">Tutor</option>
<option value="Institute">Institute</option>
<option value="Student">Student</option>
</select>
您的查询:
$type = '';
if(!empty($_POST) && isset($_POST[type])){
$type = " WHERE testimonials.type = '".$_POST[type]."'";
}
$q = "SELECT testimonial, city_name, name, web_address, image_name, membership_type
FROM testimonials
INNER JOIN city ON city.city_id = testimonials.city_id
".$type."
ORDER BY date_added DESC LIMIT $start, $display";
当然请务必检查表单是否已提交。
答案 3 :(得分:0)
通过名称为每个推荐div添加一个类
<div class="student">testimonial goes here</div>
现在使用jquery一次隐藏/显示类别。
$('.student').show();
我希望它有所帮助