2013-08-23 53 views
-5

我有一堆用戶擁有一定數量的表。我想安排用戶從最高點到最低點。但是ORDER BY PTS DESC不起作用。PHP/MYSQL - 「ORDER BY」不起作用

    <tr> 
         <th id="users_th1"><img src="<?php echo mysql_result($r_TEAMS, $i, 'LOGO'); ?>"/> <p><?php echo mysql_result($r_TEAMS, $i, 'NAME'); ?></p></th> 
         <th id="users_th2">Points Value</th> 
        </tr> 
        <?php 
        $q_users = 'Select * from POINTS LEFT JOIN USERS on USERS.UID = POINTS.UID where TID = '.mysql_result($r_TEAMS, $i, 'TID'); 
        $r_users = mysql_query($q_users, $connection) or die(mysql_error()); 
        $n_users = mysql_num_rows($r_users); 

         for($k = 0; $k <$n_users; $k++){  
        ?> 



        <tr> 
         <td class="person"><?php echo mysql_result($r_users, $k, 'NAME'); ?></td> 
         <td><?php echo mysql_result($r_users, $k, 'POINTS.PTS'); ?></td> 
        </tr> 

        <?php 
         } 
        } 
+8

,當你說「不工作」你的意思是,你得到一個錯誤或者命令有錯誤?此外,它似乎並不像你包括的順序的代碼。 –

+5

* PSA:*'mysql_ *'函數[在PHP 5.5中不推薦](http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建議您編寫新的代碼,因爲這會阻止您將來升級。相反,請使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)和[是一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –

+0

我總是看到這種類型的問題,你應該閱讀[PHP和MySQL的常見數據庫調試](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)。 –

回答

1

這只是猜測,但我看到你在做表USER和表POINTS之間的JOIN。也許你有一個名爲PTS的字段,這兩個表都是,所以如果你想按這個字段排序的結果,你應該指出你指的是哪一個表。

所以,做這種方式,

$q_users = " 
    SELECT * 
    FROM POINTS 
    LEFT JOIN USERS 
    ON USERS.UID = POINTS.UID 
    WHERE <table name>.TID = " . mysql_result($r_TEAMS, $i, 'TID') . " 
    ORDER BY <table name>.PTS DESC"; 
+0

Awwwwww YES !!!!而已。謝謝謝謝謝謝 – user2584238

+0

@ user2584238如果這是正確的答案,您應該接受它... –

0

你嘗試:

$q_users = 'Select * from POINTS LEFT JOIN USERS on USERS.UID = POINTS.UID where TID = '.mysql_result($r_TEAMS, $i, 'TID').' ORDER BY PTS DESC;'; 

你也可以寫,如果不進行排序,或者如果它不會查詢。