PHP ve MySQL ile sütunları sıralama için en iyi yöntemi nedir?

4 Cevap php

PHP ve MySQL ile tablo sütunları sıralamak için en iyi yolu olduğunu bilmek istiyorum. Aşağıdaki gibi bir değişkenleri ayarlamak zorunda kalmadan bunu yapmak için bir yolu var mı?

$strASC = $_GET["order"];

if ($strASC == "ASC") 
{
    $strASC = "DESC";
}

veya geçerli durumuna bağlı olarak ASC veya DESC tersine bir SQL sorgusu mevcut mu?

4 Cevap

Bir veritabanından bir sonuç kümesi olsun sizin belirttiğiniz sırada bulunuyor. Veritabanı bu nedenle o anda içinde olduğu "statü" bilmiyor o en tablolardaki verileri yeniden değil

Ayrıca örnekte SQL Enjeksiyon için dikkat.

Orada sıralama düzeni saygısız özellikle de hiçbir işlevi var, ama böyle bir şey yapabilirsiniz:

$sortDir = $_GET['order'] == 'ASC' ? 'DESC' : 'ASC';
mysql_query('SELECT * FROM table ORDER BY col ' . $sortDir);

Bunu ben size sorgu sırası yönünü ayarlamak için url params'ı kullanmak istediğinizi varsayalım bu kodu bir $ _GET yaşıyoruz.

Sizin kod biraz kafa karıştırıcı görünüyor, sen $ strASC bir çelişki biraz da "DESC" kuruyorlar ;)

Ne gibi bir şey hakkında:

$sortDirection = $_GET['order'];

if ($sortDirection == 'ASC' || $sortDirection == 'DESC')
{
    $sql = "SELECT mystuff FROM mytable WHERE mycrit ORDER BY " . $sortDirection;
}
else
{
    echo 'Invalid sort direction';
}

Sadece PHP ve veritabanı kullanarak, bunu yapabileceğini daha iyi bir yol olduğunu sanmıyorum.

Ama javascript kullanarak ve başka bir sorgu çalıştıran denemek istedim, sen jquery bakmak olabilir ve tablesorter.