单击导航栏中的选项时更改$ sql

时间:2015-12-12 12:24:45

标签: php mysql

我想在单击导航栏中的选项时更改$sql查询。这是我的导航栏:

<div class="row">
        <div class="col-sm-12">
            <div class="subnav">
                <ul class="nav nav-pills">
                    <li class="active">
                        <a href="">League </a>
                    </li>
                    <li>
                        <a href="">All</a>
                    </li>
                    <li>
                        <a href="">Gold</a>
                    </li>
                    <li>
                        <a href="">Silver</a>
                    </li>
                    <li>
                        <a href="">Bronze</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>

这是我的PHP

$sql = "SELECT * FROM `players_db` WHERE `rating` > 74 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error()); 
while( $row = mysql_fetch_assoc( $result)){

所以,当我按下Gold按钮时,我希望$sql成为

$sql = "SELECT * FROM `players_db` WHERE `rating` > 74 AND `Revision` = 0 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";

很抱歉仍在使用mySQL,我将其更新为PDO!

我希望你们能帮助我,

菊兰

1 个答案:

答案 0 :(得分:2)

以下是什么意思?

<html>
<div class="row">
        <div class="col-sm-12">
            <div class="subnav">
                <ul class="nav nav-pills">
                    <li class="active">
                        <a href="index.php?type=league">League </a>
                    </li>
                    <li>
                        <a href="index.php?type=all">All</a>
                    </li>
                    <li>
                        <a href="index.php?type=gold">Gold</a>
                    </li>
                    <li>
                        <a href="index.php?type=silver">Silver</a>
                    </li>
                    <li>
                        <a href="index.php?type=bronze">Bronze</a>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</html>

<?php
if( !empty( $_GET['type'] ) ) {
$type = $_GET['type'];

if($type !== 'gold') {
   $sql = "SELECT * FROM `players_db` WHERE `rating` > 74 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";
} else {
   $sql = "SELECT * FROM `players_db` WHERE `rating` > 74 AND `Revision` = 0 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";
}
   $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); 
   while( $row = mysql_fetch_assoc( $result)){

}
?>

案例切换示例:

<?php
if( !empty( $_GET['type'] ) ) {
$type = $_GET['type'];

switch($type) {
 case 'league':
   $sql = "SELECT * FROM `players_db` WHERE `rating` > 74 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";
  break;
 case 'all':
   // Some code here
   break;
case 'gold':
   $sql = "SELECT * FROM `players_db` WHERE `rating` > 74 AND `Revision` = 0 ORDER BY `special` DESC , `rating` DESC  LIMIT 45";
  break;
 // ETC.
}
   $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); 
   while( $row = mysql_fetch_assoc( $result)){

}
?>