Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DESC/ASC problem

0 views
Skip to first unread message

Peter Nicolaj

unread,
Jul 1, 2009, 3:30:57 PM7/1/09
to
Hej i mit fors�g p� at udf�rer en sql forsp�rgsel har jeg skrevet
f�lgende:

$res = mysql_query
("SELECT * FROM tourquiz ORDER BY score DESC, clockDisplay ASC ")

OR

die(mysql_error());

--------------------------------------------

Hvorfor f�r jeg kun resultat for den ene af dem i denne s�tning?
og hvordan b�r den s�ttes op for at f� dem begge med, hvor score
bliver prioteret som den f�rste og clockDisplay som nr. 2?

P� forh�nd tak

--
Vil du l�re at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- P�dagogiske tutorials p� dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Leif Neland

unread,
Jul 1, 2009, 5:58:44 PM7/1/09
to
Peter Nicolaj skrev:

> Hej i mit fors�g p� at udf�rer en sql forsp�rgsel har jeg skrevet
> f�lgende:
>
> $res = mysql_query
> ("SELECT * FROM tourquiz ORDER BY score DESC, clockDisplay ASC ")
>
> OR
>
> die(mysql_error());
>
> --------------------------------------------
>
> Hvorfor f�r jeg kun resultat for den ene af dem i denne s�tning?
> og hvordan b�r den s�ttes op for at f� dem begge med, hvor score
> bliver prioteret som den f�rste og clockDisplay som nr. 2?
>
Hvad mener du?

S�tningen ser rigtig ud, det er jo kun de, der har samme score, hvor du
kan se at der sorteres efter clockDisplay.

Navnet clockDisplay for mig til at spekulere p�, om du pr�ver at sortere
efter et formatteret tidsformat, det g�r jo galt.

S� kommer 1. feb f�r 2. jan

Leif

Birger Sørensen

unread,
Jul 1, 2009, 6:57:49 PM7/1/09
to
Leif Neland tastede fᅵlgende:
> Peter Nicolaj skrev:
>> Hej i mit forsᅵg pᅵ at udfᅵrer en sql forspᅵrgsel har jeg skrevet
>> fᅵlgende:

>>
>> $res = mysql_query
>> ("SELECT * FROM tourquiz ORDER BY score DESC, clockDisplay ASC ")
>>
>> OR
>>
>> die(mysql_error());
>>
>> --------------------------------------------
>>
>> Hvorfor fᅵr jeg kun resultat for den ene af dem i denne sᅵtning?
>> og hvordan bᅵr den sᅵttes op for at fᅵ dem begge med, hvor score
>> bliver prioteret som den fᅵrste og clockDisplay som nr. 2?
>>
> Hvad mener du?
>
> Sᅵtningen ser rigtig ud, det er jo kun de, der har samme score, hvor du kan
> se at der sorteres efter clockDisplay.
>
> Navnet clockDisplay for mig til at spekulere pᅵ, om du prᅵver at sortere
> efter et formatteret tidsformat, det gᅵr jo galt.
>
> Sᅵ kommer 1. feb fᅵr 2. jan
>
> Leif

Da ikke hvis tabellerne er defineret til at bruge date format for
datoer...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk


Leif Neland

unread,
Jul 2, 2009, 1:38:10 AM7/2/09
to
Birger Sᅵrensen skrev:

>> Navnet clockDisplay for mig til at spekulere pᅵ, om du prᅵver at
>> sortere efter et formatteret tidsformat, det gᅵr jo galt.
>>
>> Sᅵ kommer 1. feb fᅵr 2. jan
>>
>> Leif
>
> Da ikke hvis tabellerne er defineret til at bruge date format for datoer...
>

Det er ordet Display, der trigger mig.

Jeg ville bruge det i dette tilfᅵlde
select ... date_format("d m y h i",clock) as clockDisplay

Sᅵ er det ikke clockDisplay, men clock, der skal sorteres efter.

(Jeg garanterer ikke for syntaxen, det er tid til morgenmad nu...)

Leif

Peter Nicolaj

unread,
Jul 2, 2009, 3:58:36 AM7/2/09
to
Leif Neland wrote in dk.edb.internet.webdesign.serverside.php:
> Birger S�rensen skrev:
>
> >> Navnet clockDisplay for mig til at spekulere p�, om du pr�ver at
> >> sortere efter et formatteret tidsformat, det g�r jo galt.
> >>
> >> S� kommer 1. feb f�r 2. jan
> >>
> >> Leif
> >
> > Da ikke hvis tabellerne er defineret til at bruge date format for datoer...
> >
> Det er ordet Display, der trigger mig.
>
> Jeg ville bruge det i dette tilf�lde

> select ... date_format("d m y h i",clock) as clockDisplay
>

> S� er det ikke clockDisplay, men clock, der skal sorteres efter.

>
> (Jeg garanterer ikke for syntaxen, det er tid til morgenmad nu...)
>
> Leif

Alts� hvis jeg alene s�tter clockDisplay til sortering, fungere den som den
skal. Den vil bare ikke acceptere f�rst at sortere efter score, og derefter tid.
clockDisplay er sat til 'time' i min phpmyadmin, ved ikke om det har noget at
sige? Det bare ligesom den bliver forvirret over den ene sorteres op og den
anden ned. Men set ud fra andre steder via google, kan jeg ikke se hvordan jeg
ellers kan opstille det?

Leif Neland

unread,
Jul 2, 2009, 4:26:51 AM7/2/09
to

"Peter Nicolaj" <petern...@hotmail.com> skrev i en meddelelse
news:4a4c68ac$0$48237$1472...@news.sunsite.dk...

>
> Alts� hvis jeg alene s�tter clockDisplay til sortering, fungere den som
> den
> skal. Den vil bare ikke acceptere f�rst at sortere efter score, og
> derefter tid.
> clockDisplay er sat til 'time' i min phpmyadmin, ved ikke om det har noget
> at
> sige? Det bare ligesom den bliver forvirret over den ene sorteres op og
> den
> anden ned. Men set ud fra andre steder via google, kan jeg ikke se hvordan
> jeg
> ellers kan opstille det?
>

Vil det sige, at de, der har samme score st�r sammen, men med clockDisplay i
tilf�ldig r�kkef�lge?

Kan du vise os resultatet af

select score,clockDisplay from ... order by score desc,clockDisplay asc

Vis nogle linier, hvor score er ens.

Leif


Peter Nicolaj

unread,
Jul 2, 2009, 5:05:15 AM7/2/09
to
Leif Neland wrote in dk.edb.internet.webdesign.serverside.php:

Leif Neland

unread,
Jul 2, 2009, 6:23:33 AM7/2/09
to

"Peter Nicolaj" <petern...@hotmail.com> skrev i en meddelelse
news:4a4c784b$0$48236$1472...@news.sunsite.dk...

> Leif Neland wrote in dk.edb.internet.webdesign.serverside.php:
>> Kan du vise os resultatet af
>>
>> select score,clockDisplay from ... order by score desc,clockDisplay asc
>>
>> Vis nogle linier, hvor score er ens.
>>
>> Leif
>>
>>
>
>
> --

Dit svar var tomt, bortset fra citatet af foreg�ende besked.

Leif


Peter Nicolaj

unread,
Jul 2, 2009, 7:47:30 AM7/2/09
to
S� pr�ver jeg da lige igen!

$res = mysql_query("SELECT * FROM tourquiz ORDER BY score DESC, clockDisplay
ASC ")OR
die(mysql_error());

echo '<table>';

while ($row = mysql_fetch_array($res)) {

print "<table border=\"1\">\n";

print

"<tr><th>Bruger
Id</th><th>Navn</th><th>E-mail</th><th>Score</th><th>Tid</th>";

print "</tr>\n";

/* Printer resultatet i HTML */

echo '<tr>';

echo '<td>' . $row[bruger_id] . '</td>';

echo '<td>' . $row[navn] . '</td>';

echo '<td>' . $row[mail] . '</td>';

echo '<td>' . $row[score] . '</td>';

echo '<td>' . $row[clockDisplay] . '</td>';

echo '</tr>';

}

echo '</table>';

// De ressourcer, s�geresultatet optager, frig�res clockDisplay

mysql_free_result($res);

// Databaseforbindelsen lukkes

mysql_close();

?>
--------------------------------------------------------

Resultatet ses her:
http://u2danmark.dk/downloads/tourquiz/default.php

Stig Johansen

unread,
Jul 2, 2009, 10:24:33 AM7/2/09
to
Peter Nicolaj wrote:

Den er da sorteret i faldende score, og stigende tid, som du beder om i din
SQL.

--
Med venlig hilsen
Stig Johansen

Peter Nicolaj

unread,
Jul 2, 2009, 11:15:37 AM7/2/09
to
Stig Johansen wrote in dk.edb.internet.webdesign.serverside.php:

Desv�rre ikke, hvis du kigger igen, kan du se at tid st�r forkert.
37,25,29,32,26 , m� nok siges at v�re noget rodet.

Hmm, jeg kan da ikke v�re den f�rste der laver en quiz basert p� rigtige antal
svar p� kortest tid???

Johan Holst Nielsen

unread,
Jul 2, 2009, 12:24:15 PM7/2/09
to
Peter Nicolaj wrote:
> Stig Johansen wrote in dk.edb.internet.webdesign.serverside.php:
>> Peter Nicolaj wrote:
>>
>>> Resultatet ses her:
>>> http://u2danmark.dk/downloads/tourquiz/default.php
>>
>> Den er da sorteret i faldende score, og stigende tid, som du beder om i din
>> SQL.
>>
>> --
>> Med venlig hilsen
>> Stig Johansen
>
> Desv�rre ikke, hvis du kigger igen, kan du se at tid st�r forkert.
> 37,25,29,32,26 , m� nok siges at v�re noget rodet.

Jamen du sorterer jo p� SCORE f�rst - derfor vil 4 altid komme f�r 3...
ingen hokus pokus der!

Hvis det er TIDEN du vil sortere p� f�rst - skal du g�re det omvendt -
alts� ORDER BY clockDisplay ASC, score DESC

Hvis vi tager bruger id'erne vil sortingen s� v�re

3
4
1
2
5

> Hmm, jeg kan da ikke v�re den f�rste der laver en quiz basert p� rigtige antal
> svar p� kortest tid???

Nej - men du bliver n�dt til at forklare problemet n�rmere. Den sorterer
netop p� score og derefter tid, som du har forespurgt efter tidligere i
tr�den!

/Johan

Leif Neland

unread,
Jul 3, 2009, 2:43:21 AM7/3/09
to

Der er lidt rod i din resulterende html, du starter en tabel for hver r�kke,
men du lukker kun een gang.

Igen, der sorteres som du �nsker, se f.ex. p� alle de, der har 3 points, de
st�r p�nt med stigende tid.
(Det er nok lettere at se, hvis du f�r styr p� html'en)

Vil du have det p� anden m�de, s� m� du definere det bedre.
F.ex. som ridebanespringning, metode C, hvor fejl omregnes til tid.
Eller hvor man f�r tidsfejl, n�r man overskrider en angiven tid. :-)

"Peter Nicolaj" <petern...@hotmail.com> skrev i en meddelelse

news:4a4c9e52$0$48232$1472...@news.sunsite.dk...


> S� pr�ver jeg da lige igen!
>
> $res = mysql_query("SELECT * FROM tourquiz ORDER BY score DESC,
> clockDisplay
> ASC ")OR
> die(mysql_error());
>
>
>

Denne linie skal v�k:
> echo '<table>';
>
Denne linie skal ned under (*A*)


> while ($row = mysql_fetch_array($res)) {
>
>
>
> print "<table border=\"1\">\n";
>
> print
>
> "<tr><th>Bruger
> Id</th><th>Navn</th><th>E-mail</th><th>Score</th><th>Tid</th>";
>
> print "</tr>\n";
>

(*A*) Hertil.

Leif Neland

unread,
Jul 7, 2009, 2:54:13 AM7/7/09
to
Peter Nicolaj skrev:

> Hej i mit fors�g p� at udf�rer en sql forsp�rgsel har jeg skrevet
> f�lgende:
>
> $res = mysql_query
> ("SELECT * FROM tourquiz ORDER BY score DESC, clockDisplay ASC ")
>
> --------------------------------------------
>
> Hvorfor f�r jeg kun resultat for den ene af dem i denne s�tning?
> og hvordan b�r den s�ttes op for at f� dem begge med, hvor score
> bliver prioteret som den f�rste og clockDisplay som nr. 2?
>
Kunne du ikke lukke denne tr�d af med en status?
0 new messages