Autor Zpráva
peta
Profil *
potrebuji (ORDER BY xxx DESC LIMIT 20 ) a vysledek ASC
vytahnout posledni 20 zprav, podle datumu a pak je seradit ASC a nejsem si ted jistej, jak to napsat.
24k
Profil *
mm.gene.cz


SELECT * FROM TABLE ORDER BY datum ASC LIMIT 20
24k
Profil *
aha spatne ... ctu ten prispevek znova

SELECT .... ORDER BY DATUM DESC, [jmeno] ASC LIMIT 20

[jmeno] - nejaky takovy sloupec by to melo mit (proste jmeno one zpravy, kdyz to chces radit dle abecedy)
Kajman_
Profil *
Od mysql 4.1 lze

select * from (select * from tabulka order by datum desc limit 20) tmp order by sloupecek

A pokud ten sloupecek je taky datum, tak bych to prostě jen v aplikační vrstvě vypsal pozpátku.
peta
Profil *
Kajman_
Dik, vyzkousim. Ta aplikacni vrstva je JS-DOM-Ajax a vypada asi takhle:
PHP
$dotaz1 = "SELECT * FROM xatchat_ppxRoom".$room." WHERE (`line_type` < $line_laws OR `line_login2` = '$login') AND '$lastDATE' < `line_date` ORDER BY `line_date` ASC LIMIT ".$linesMax;
// echo "<hr/><b>dotaz = </b>".$dotaz1."<hr/>";

$dotaz = $dotaz1;
$vysledek = mysql_query($dotaz) or die("Dotaz error: ppxchat lines! ".mysql_error());
$pocet = mysql_NumRows($vysledek);

$r="";

if ($pocet>0)
{
$r = array();
for ($i=0;$i<$pocet;$i++)
{
$row2 = mysql_fetch_array($vysledek);
$x=array(...)
$r[$i]="\n\t[".implode(",",$x)."]";
}
$r = implode(",",$r)."\n\t";
... cili si z toho udelam pole jako text pro vypsani
JS
<script type="text/javascript">
var spravynove = [<?=$r?>];
JS2
function pridajspravy(lastID)
{
var a = spravynove.length;
if (lastID!=="" && a>0)
{
for (i=0;i<a;i++)
{if (lastID!=spravynove[i][0]) {pridajSpravu(spravynove[i]);}}
}
}

24k Dik moc, asi to vazne vypisi pozpatku, bude to nejjednodussi nez zatezovat SQL.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0