Бутони за различен цъкъл

obqvi_in

Registered
Имам даден цикъл, който ми извежда няколко резултата как да направя така, че с един бутон или повече бутони да ми подрежда по различен/и начин резултатите от база данни. За всеки различен бутон различно подреждане и ако може да е по елементарно без ajax ако може или ако е лесно с ajax пак става.
 
Най-елементарно е с GET параметри.Това е прост пример.Можеш да си го доразвиеш както искаш.
PHP:
<a href='page.php?sort=date'>Подреждане по дата на добавяне</a>
<a href='page.php?sort=name'>Подреждане по име</a>
<a href='page.php?sort=title'>Подреждане по заглавие</a>
if(isset($_GET['sort'])) {
  switch($_GET['sort']) {
    case "date": $where = "Полето от таблицата за дата на добавяне";  break;
    case "name": $where = Полето от таблицата за име; break;
    case "title": $where = Полето от таблицата за заглавие; break;
  }
}
else $where = "Поле от таблицата за подредба по подразбиране,ако не е избрано";

$i = mysql_query("SELECT * FROM таблица ORDER BY $where");
while($row=mysql_fetch_array) {

}
 
Първо ако съм те разбрал трябва да променя 'page.php?sort=date' на моята страница например 'edit.php?sort-date'. Второ трябва там къде пише 'Полето от таблицата за дата на добавяне' полето ми от база данни което искам да сортирам а след 'case' какво да напиша пак ли полето. Трето поставих кавички на 'where'
PHP:
$i = mysql_query("SELECT * FROM таблица ORDER BY $where");
иначе ми дава грешка, но пак не ми ги подрежда. Ето и примерният код
PHP:
<a href='edit.php?sort=get_time'>Подреждане по дата на добавяне</a>
<a href='edit.php?sort=id_N'>Подреждане по id</a>
<a href='edit.php?sort=name'>Подреждане по ime</a><br> <?php
if(isset($_GET['sort'])) {
  switch($_GET['sort']) {
    case "get_time": $where = "get_time";  break;
    case "id_N": $where = "id_N"; break;
    case "name": $where = "name"; break;
  }
}
$q_ref = "SELECT * FROM referali WHERE not name = 999999999 ORDER BY '$where'";
$r_ref = mysql_query($q_ref) or die (mysql_error());
while($ref = mysql_fetch_array($r_ref)) {
echo $ref['get_time'];  echo"\n";  echo $ref['id_N'];  echo"\n";   echo $ref['name']; echo'<br>';
}
 
За страницата си разбрал правилно.В case пишеш това,което идва,като GET параметър(от линковете).В променливата $where посочваш полето от таблицата ти за съответния избор(примерно,ако искаш да ги сортираш по id правиш си линк sort=id(или каквото искаш) и в case посочваш id(или това, което си въвел),а в $where си записваш полето от таблицата ти,което в твоя случай за id е id_N).
Махни кавичките на $where в заявката - каква грешка ти дава,като ги махнеш?

Не го обясних много добре,но ако не разбираш нещо пиши пак.
 

Горе