3

在我的网站上,我有一个页面来显示推荐。我编写了这段代码来显示我在数据库中的所有推荐。

到目前为止,这是我的代码:

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>

谁能让我朝着这里的方向前进?

谢谢你

4

4 回答 4

0

按名称为每个推荐 div 添加一个类

 <div class="student">testimonial goes here</div>

现在使用 jquery 一次性隐藏/显示类别。

 $('.student').show();

我希望它有帮助

于 2013-03-13T11:56:27.580 回答
0

一旦用户选择了 3 个选项之一并显示您所需的推荐信,为什么不动态重新加载选择框(使用 AJAX)。我想这将解决您的问题。

于 2013-03-05T13:42:25.083 回答
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()">

可以在此处找到更多示例

于 2013-03-05T13:43:58.180 回答
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";

当然,请务必检查表单是否已提交。

于 2013-03-05T13:52:20.873 回答