首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示下拉选择中的数据库内容

显示下拉选择中的数据库内容
EN

Stack Overflow用户
提问于 2013-03-05 21:37:52
回答 4查看 1.3K关注 0票数 3

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

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

代码语言:javascript
复制
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种不同的推荐信。(导师、学院、学生)

我将使用一个选择框来过滤数据。当从选择框中选择一个选项时,我需要根据所选类型显示推荐信。

代码语言:javascript
复制
<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>

有没有人能带我往这个方向走?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2013-03-05 21:42:25

当用户选择了3个选项中的一个并显示所需的证明后,为什么不动态地重新加载选择框(使用AJAX)呢?我想这将解决您的问题。

票数 0
EN

Stack Overflow用户

发布于 2013-03-05 21:43:58

因此,您需要根据其类型选择推荐信

代码语言:javascript
复制
$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";

现在,您还希望从用户处获取类型

代码语言:javascript
复制
<select name="type" class="select">

有了帖子

代码语言:javascript
复制
$type = $_POST['type'];

在更改时自动提交表单示例

Javascript:

代码语言:javascript
复制
<script type="text/javascript">
    function submitform(){
        document.frmType.submit();
    }
</script>

表格:

代码语言:javascript
复制
<form name="frmType" method="post" action="">
    <select name="type" class="select" onchange="submitform()">

有关更多示例,请参阅here

票数 0
EN

Stack Overflow用户

发布于 2013-03-05 21:52:21

你有几个选择。第一个是使用ajax。第二步是提交表单onchange或onsubmit:

代码语言:javascript
复制
<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>

和您的查询:

代码语言:javascript
复制
$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";

当然,一定要检查表单是否已经提交。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15225213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档