ugrás a tartalomhoz

Miért nem masználja nekem az ORDER BY -t ? (nincs szintax hiba)

todwardus · 2007. Május. 10. (Cs), 20.44
Szia !


Itt van egy lekérdezésem, beleraktam az order by -t de érdekes módon nem rendezte, de ami még meglepőbb hibaüzenetet se hagyott !! Most így néz ki :


Itt van...kicsit összetettebb...Akár benne van az order by akár nincs, UGYAN AZ az eredmény, akár DESC-el akár ASC-el és hibaüzenetet NEM kapok !

$pagingQuery = "";
$result = mysql_query("SELECT id, cat, title, uptime
           FROM table WHERE egyik_oszlop='bbb and masik_oszlop LIKE '%valami%'" 
   ORDER BY 'uptime' DESC       LIMIT 0, 50 ;

while(list($id, $name, $address, $age) = mysql_fetch_array($result))
	echo $id.$age ;
köszi
 
1

nem véletlen :)

Sulik Szabolcs · 2007. Május. 10. (Cs), 21.05
A hiba az ön készülékében van.
1. egyik_oszlop='bbb - nem ártana lezárni
2. a query stringnek ott van vége, ahol a ", vagyis LIKE '%valami%'" (se az order by, sem a limit nincs benne és a mysql_query() sem kerek).

Ezért nem tudja masználni az order by-t. :)
4

abc

todwardus · 2007. Május. 11. (P), 15.23
Látom, így nem sokra megyek, itt a teljes szkript, a fenti csak egy leegyszerüsített változat akart lenni csak siettem és lehagytam néhány idézőjelet...na itt van a teljes lekérdezés

if($bbb == "")
{        $tipusszerint = "";                    		}
else{    $tipusszerint = "WHERE cat='".$bbb."'";		}


if ($ccc != "")
{
	if ($bbb == "")
	{      $keresdmeg = "WHERE title LIKE '%".$ccc."%'" ;    }
	else{  $keresdmeg = " and title LIKE '%".$ccc."%'"  ;    }
}
$rowsPerPage = 50;

$pageNum = 1;

if(isset($_GET['page']))
{
	$pageNum = $_GET['page'];
}

$offset = ($pageNum - 1) * $rowsPerPage;

$query  = "SELECT id, cat, title, uptime
           FROM $aaa ".$tipusszerint.$keresdmeg." ORDER BY 'uptime' DESC ";

$pagingQuery = "LIMIT $offset, $rowsPerPage";
$result = mysql_query($query . $pagingQuery) or die('Error, query failed');

while(list($id, $name, $address, $age) = mysql_fetch_array($result))
{
	echo "
//kiiratom tábláztba

	";
}

Így bonyultabb lett...de legalább az egészet látjátok. A limit a $pageNum és a $_GET['page'] azért kell mert oldalanként íratom ki...a $ccc pedig keresésre szolgál...talán így érthetőbb..
A szitu még mindig ugyan az ORDER BY nélkül tökéletesen működik, ha belerakom...akkor semmi változás...ugyanúgy működik...
2

ORDER BY uptime

Rici · 2007. Május. 10. (Cs), 21.26
Ne tedd idézőjelbe az uptime-ot az ORDER BY után.

Így ugyanis nem az uptime oszlop, hanem az 'uptime' sztring szerint rendez, ami minden sorban ugyanaz, tehát nem változtat a sorrendben.
3

helyes apostróf

decker · 2007. Május. 10. (Cs), 22.39
' helyett használj ` -t
5

Köszi

todwardus · 2007. Május. 11. (P), 15.50
Csáó!
Kiváló ötlet...ez volt a probléma...Nagyon szépen köszönöm Rici!