-1

我一直在使用此代码在我的网站上显示一些推荐。

这是到目前为止的代码:

// Select testimonials from database 
$q = "SELECT testimonial, city_name, name, web_address, image_name, membership_type
        FROM testimonials 
        INNER JOIN city ON city.city_id = testimonials.city_id
        ORDER BY date_added DESC LIMIT $start, $display";

$r = mysqli_query($dbc, $q); 

if ( $records >= 1 ) {

    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'];

        echo '<div class="testimonial-row">
                    <div class="testimonial-image">
                        <img src="'.UPLOAD_DIR.$imageName.'" />
                    </div>
                    <div class="testimonial">
                        <h2>'.$name.'</h2>
                        <h3>';
                        if($type==1){
                            echo 'A teacher';
                        }elseif($type==2){
                            echo 'An Institute';
                        }elseif($type==3){
                            echo 'A Student';
                        }
                        echo " from <strong>$city</strong></h3>
                        <blockquote>$mytestimonial</blockquote>
                        <p class='user-url'><a href=''>$url</a></p>
                    </div>                  
                </div>";    
    }
} else {
    echo "There is no any testimonial to display at this time. Please try again later.";
}

运行上述代码后,我可以显示我的所有推荐。我有 3 种不同类型的推荐,目前在我的页面中显示所有类型的推荐。

现在我将使用一个选择框来根据其类型过滤和显示它们的解决方案。

这是我的选择框:

<select class="select" name="type">
    <option value="1">Tutor</option>
    <option value="2">Institute</option>
    <option value="3">Student</option>
</select>

从选择框中选择一个选项时,我的过滤应该发生在使用所选类型重新查询我的原始查询时。我得到了一个带有 jquery 显示/隐藏功能的解决方案,但它与所需的结果不匹配。

注意:我不能在这个选择框上使用提交按钮。这就是为什么我正在寻找 Ajax 或 Jquery 的解决方案。

谁能告诉我这可能吗?

谢谢你。

4

2 回答 2

1

这可能是解决方案......像这样传递你的价值:

                    <select name="jumpMenu" class="sort-by-select" id="jumpMenu" onchange="MM_jumpMenu('parent',this,0)">
                      <option value=""> Select type </option>
                      <option value ="yourpage?type=1">Tutor</option>
                      <option value ="yourpage?type=2">Institute</option>
                      <option value ="yourpage?type=3">Student</option>

                    </select>

 <script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore) //v3.0
{ 
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
    if (restore) selObj.selectedIndex=0;
}
</script> 

之后得到这样的价值..

 if(isset($_GET['type']) && $_GET['type'] != "")
 {
$Q = $_GET['type'];
  }

将此值放入 Query

 SELECT testimonial, city_name, name, web_address, image_name, membership_type
    FROM testimonials 
    INNER JOIN city ON city.city_id = testimonials.city_id where membership_type='$Q'
    ORDER BY date_added DESC LIMIT $start, $display
于 2013-03-15T12:20:03.570 回答
1

这是代码示例代码,可以让您了解我向您建议的内容..

$(document).ready(function(){


 $('#type').change(function(){
   var data = $("#type").val();
$.ajax({

         url : "yourdomain/yourfilterpage.php",
         data: {'type':data},
         type : 'POST' ,
         success : function(data){ $('#divtoshowdata').html(data)}
     });
 })

})

 <select class="select" name="type" id='type'>
 <option value="1">Tutor</option>
<option value="2">Institute</option> 
<option value="3">Student</option>

在 yourfilterpage.php 上获取过滤结果

于 2013-03-15T15:35:56.887 回答