2010-03-23 6 views
0

J'utilise ce pagination class et je cherchais un moyen de rendre la requête sql plus dynamique au lieu de l'avoir en dur.Comment rendre la requête sql dynamique?

J'ai un 3 <li> éléments que je veux être des boutons de filtre, ce qui signifie lorsqu'un utilisateur clique sur l'un de ces éléments Je veux qu'il envoie l'ID afin que je puisse l'utiliser dans une requête sql. Par conséquent, pour $sql = "select * from explore where category='marketing'"; (voir ci-dessous). Lorsque l'utilisateur clique sur le bouton 'automobile', il va changer la catégorie ci-dessus pour l'automobile.

Toute aide à ce sujet serait grandement appréciée, merci.

Voici ce que ma page principale ressemble à:

<script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> 
<script type="text/javascript" src="jquery_page.js"></script> 


<?php 
    //Include the PS_Pagination class 
    include('ps_pagination.php'); 
    //Connect to mysql db 
    $conn = mysql_connect('localhost', 'root', 'root'); 
    mysql_select_db('ajax_demo',$conn); 
    $sql = "select * from explore where category='marketing'"; 
    //Create a PS_Pagination object 
    $pager = new PS_Pagination($conn, $sql, 3, 11, 'param1=valu1&param2=value2'); 
    //The paginate() function returns a mysql 
    //result set for the current page 
    $rs = $pager->paginate(); 
    //Loop through the result set 
    while($row = mysql_fetch_assoc($rs)) { 
      echo "<table width='800px'>"; 

       echo "<tr>"; 
        echo"<td>"; 
        echo $row['id']; 
        echo"</td>"; 

        echo"<td>"; 
        echo $row['site_description']; 
        echo"</td>"; 

        echo"<td>"; 
        echo $row['site_price']; 
        echo"</td>"; 
       echo "</tr>"; 

      echo "</table>"; 
    } 

     echo "<ul id='pagination'>"; 

      echo "<li>"; 
      //Display the navigation 
      echo $pager->renderFullNav(); 
      echo "</li>"; 

     echo "</ul>"; 

    echo "<ul id='filter'>"; 

     echo "<li id='marketing'>"; 
      echo "Marketing"; 
     echo "</li>"; 

     echo "<li id='automotive'>"; 
      echo "Automotive"; 
     echo "</li>"; 

     echo "<li id='sports'>"; 
      echo "Sports"; 
     echo "</li>"; 

    echo "</ul>"; 
?> 
+0

http://stackoverflow.com/questions/2231538/pagination-problem-needing-assistance – CheeseConQueso

+0

http://stackoverflow.com/questions/1064167/php-pagination-problem-displaying-correct-content-on-additional-pages – CheeseConQueso

+0

http://stackoverflow.com/questions/2308169/change-queries-dynamically-php- jquery – CheeseConQueso

Répondre

1

ressemble cette ligne

$pager = new PS_Pagination($conn, $sql, 8, 3, 'param1=valu1&param2=value2'); 

doivent être formulées à des variables porter à tester avant que la requête SQL est exécutée .... quelque chose peut-être comme:

$pager = new PS_Pagination($conn, $sql, 8, 3, 'param1=automotive&param2=sports'); 

puis essayez cette

Et
if($_POST["param1"]=="automotive") 
{ 
$sql = "select * from explore where category='automotive'"; 
} 

et de travailler avec elle pour voir si vous pouvez obtenir les résultats souhaités. Je n'ai jamais utilisé la classe auparavant, mais il semblerait que vous deviez jouer avec ces paramètres pour obtenir le résultat souhaité

Questions connexes