2013-03-27 3 views
1

ребята. У меня есть следующий сценарийКак фильтровать строки по точкам. PHP/MySQL

<?php 
$result = mysql_query("SELECT * FROM players") or die(mysql_error()); 
echo "<table class=\"table table-bordered table-hover\" border='1' cellpadding='10'>"; 
echo "<tr> <th>ID</th> <th>Place</th> <th>Name</th> <th>Points</th> <th></th> <th></th></tr>"; 

// loop through results of database query, displaying them in the table 
while($row = mysql_fetch_array($result)) { 

    // echo out the contents of each row into a table 
    echo "<tr>"; 
    echo '<td>' . $row['id'] . '</td>'; 
    echo '<td>' . $row['place'] . '</td>'; 
    echo '<td>' . $row['name'] . '</td>'; 
    echo '<td>' . $row['points'] . '</td>'; 
    echo '<td><a href="wtawomenedit.php?id=' . $row['id'] . '">Edit</a></td>'; 
    echo '<td><a href="deleter.php?id=' . $row['id'] . '">Delete</a></td>'; 
    echo "</tr>"; 
} 

// close table> 
echo "</table>"; 
?> 

Этот скрипт показывает все содержимое из таблицы MySQL, но строки смешиваются, и, как я использую его для позвонил список, я хотел бы показать строки, фильтруется точками. Строка с более высокой точкой должна быть первой и т. Д. Заранее спасибо, я ничего не сделал. как раньше, поэтому я понятия не имею, как заставить его работать.

ответ

1

Использование ORDER BY пункта в запросе.

SELECT * FROM players ORDER BY points DESC 

Примечание:Please, don't use mysql_* functions in new code. Они больше не поддерживаются and are officially deprecated. См. red box? Узнайте о prepared statements вместо этого, и используйте PDO или MySQLi - this article поможет вам решить, какой. Если вы выберете PDO, here is a good tutorial.

+0

Я пробовал с точками, но он все еще смешивает их, поэтому я добавил эхо «Ввод игроков с наименьшим количеством очков первым» и заказанный это по id, так что теперь все в порядке. Это также альтернатива. – user215584

+1

Он должен работать, возможно, что-то должно быть не так. В любом случае вы надеетесь, что проблема решена. – Rikesh

1

Вы должны сортировки результата по точкам ... в порядке по убыванию

$result = mysql_query("SELECT * FROM players ORDER BY points DESC");

+0

см. Это http://www.w3schools.com/sql/sql_orderby.asp – alwaysLearn

1

Пользователь ORDER BY в вашем запросе Для получения более высоких баллов.

Попробуйте это ...

$result = mysql_query("SELECT * FROM players ORDER BY points DESC"); 
1

В SQL есть вариант, как ORDER BY Вы можете использовать это для такого рода ситуаций.

Для Макса к Мин,

$result = mysql_query("SELECT * FROM players ORDER BY points DESC") ; 

Для Мин Макс,

$result = mysql_query("SELECT * FROM players ORDER BY points ASC") ; 
1

Вы должны изменить MySQL qyuery, как

SELECT * 
FROM players 
ORDER BY points DESC 
Смежные вопросы