2012-04-16 3 views
1

У меня проблема с фильтрующей системой, которую я хотел бы фильтровать извещения. Фильтрация должна работать с использованием идентификаторов состояния, которые имеют каждая запись, например, в сообщении об ошибке есть идентификатор состояния nro. 6.Фильтрация информации с выпадающим списком

Это JQuery скрипт я использую:

$(document).ready(function() { 
$("#status_option").change(              
    function(){ 
     var statusValue = $('#status_option option:selected').val(); 
     if(statusValue == "1"){ 
      <?php 
       $sql_status1="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID = '1' ORDER BY noticeID DESC"; 
       $result_status1=mysql_query($sql_status1); 
      ?> 
     } 
     else if(statusValue == "2"){ 
      <?php 
       $sql_status2="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID AND status.statusID = '2' ORDER BY noticeID DESC"; 
       $result_status2=mysql_query($sql_status2); 
      ?> 
     }          
     else if(statusValue == "3"){ 
      <?php 
       $sql_status3="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID AND status.statusID = '3' ORDER BY noticeID DESC"; 
       $result_status3=mysql_query($sql_status3); 
      ?> 
     } 
     else if(statusValue == "4"){ 
      <?php 
       $sql_status4="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID AND status.statusID = '4' ORDER BY noticeID DESC"; 
       $result_status4=mysql_query($sql_status4); 
      ?> 
     } 
     else if(statusValue == "5"){ 
      <?php 
       $sql_status5="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID AND status.statusID = '5' ORDER BY noticeID DESC"; 
       $result_status5=mysql_query($sql_status5); 
      ?> 
     }         
     else if(statusValue == "6"){ 
      <?php 
       $sql_status6="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID AND status.statusID = '6' ORDER BY noticeID DESC"; 
       $result_status6=mysql_query($sql_status6); 
      ?> 
     } 
     else{ 
      <?php 
       $sql_default="SELECT * FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID ORDER BY noticeID DESC"; 
       $result_default=mysql_query($sql_default); 
      ?> 
     } 
    } 
);}); 

Статус выбирается из выпадающего списка:

<select id="status_valinta" style="width:210px" > 
<option title="css/msdropdown_img/status_all.gif">All posts</option> 
<option value="1" title=".../status1.gif">Notification</option> 
<option value="2" title=".../status2.gif">Waiting for answer</option> 
<option value="3" title=".../status3.gif">Guide</option> 
<option value="4" title=".../status4.gif">Document</option> 
<option value="5" title=".../status5.gif">Image</option> 
<option value="6" title=".../status6.gif">Bug-report</option> 

Проблема заключается в том, что, когда я выбираю статус, я хочу от выпадающее меню ничего не происходит. Также эта система фильтрации должна работать, открывая фильтрованную информацию динамически на одну и ту же страницу.

Это то, где показаны распечатанные данные:

<table width="100%" id="notices" class="ui-widget ui-widget-content"> 
    <thead> 
     <tr class="ui-widget-header "> 
      <th>Subject</th> 
      <th>Sender</th> 
      <th>Comments</th> 
      <th>Timestamp</th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php 
      while($rows=mysql_fetch_array($result)){ // Starting looping rows 
     ?> 
      <tr style="background-color:<?php echo $rows['colorCode']; ?>"> 
       <td> 
        <a class="opener_notice, load_data" href="notice_v2.php?id=<?php echo $rows['noticeID']; ?>"> 
        <?php echo $rows['title']; ?> 
       </td> 
       <td><?php echo $rows['firstname']; ?> <?php echo $rows['lastname']; ?> 
       </td> 
       <td><?php echo $rows['commentID']; ?></td> 
       <td><?php echo date('d.m.Y, H:i:s', strtotime($rows['sendTime'])); ?> 
       </td> 
      </tr> 
     <?php 
      // Stopping the looping and closing the mysql connection 
      } mysql_close(); 
     ?> 
    </tbody> 
</table>  
+0

Вы, очевидно, понятия не имеете, как это взломали. Часть точки MVC заключается в удалении всех и всех вызовов БД из записи вида. Вы сайт будет незащищенным, если вы продолжите это, просто fyi. – SpYk3HH

ответ

0

вы должны проверить исходный код страницы HTML вы работаете .... сов, как я могу видеть и понимать весь код PHP написан здесь, в этом фрагменте кода будет выполняться на сервере только и Jquery фильтрованием будет только пробелы ..

Хотя то, что вы тусклый достичь может быть достигнуто что-то вроде этого

$(document).ready(function() { 
<?php     // this code will be executed on the server 
    $sql_status1="SELECT status_id, status_value FROM notice, user, status WHERE notice.userID = user.userID AND notice.statusID = status.statusID ORDER BY noticeID DESC"; // considering status_id, status_value are the required attributes 
    $result_status1=mysql_query($sql_status1); 
    foreach(result_status1 as $res) 
     $json_obj_arr[$res[status_id]] = $res[status_value] 
    echo 'var notices = '.json_encode($json_obj_arr).';'; //and we will have a json abject in our html 
?> 
var notice_json = $.parseJSON(notices);  //we will parse this object 
$("#status_option").change(              
    function(){ 
     var statusValue = $('#status_option option:selected').val(); 
     alert(notice_json.statusValue); //and directly access the value corresponding to statusValue in the notice_json object 
    }) //end on change 
})// end document.ready 
+0

сделал это произведение ?? –

+0

Я попробовал ваше предложение, но оно не сработало. У меня не так много знаний о json, но я пытался настроить ваш код без успеха. В вашем коде есть значения status_id и status_value, но у меня только statusID, и он используется как число для значений в id = "status_valinta". – user1174455

+0

, так что вы хотите предупредить, когда пользователь выбирает какое-то значение? –

Смежные вопросы