Avatar billede dennism Nybegynder
28. februar 2002 - 19:55 Der er 26 kommentarer og
1 løsning

MySql foresp.

Når jeg kører denne MySql foresp. bliver de soteret i en helt forkert rækkefølge:

$foresp = mysql_query("SELECT id, navn, efternavn, dato, hits FROM spillerprofiler ORDER BY '%hits%' DESC LIMIT 0,10");

Hits bliver soteret sådan her:
0,0,0,0,1,1,1,1,183,2

Hvorfor virker det ikke?
Avatar billede repsac Nybegynder
28. februar 2002 - 19:56 #1
Fjern ' og % omkring hits.
Avatar billede dennism Nybegynder
28. februar 2002 - 19:57 #2
Har prøvet... Det hjælper hellerikke!
Avatar billede dennism Nybegynder
28. februar 2002 - 19:58 #3
Du bliver de soteret sådan her:
4,32,3,2,2,183,1,1,1,1...
Avatar billede erikjacobsen Ekspert
28. februar 2002 - 19:59 #4
Dit hitsfelt er af typen char eller varchar og skal være af typen int.
Avatar billede dennism Nybegynder
28. februar 2002 - 20:00 #5
Hver er forskellen?
Avatar billede erikjacobsen Ekspert
28. februar 2002 - 20:00 #6
Du kan måske snyde ved at skrive
 
  ORDER BY hits+0
Avatar billede repsac Nybegynder
28. februar 2002 - 20:00 #7
$foresp = mysql_query("SELECT id, navn, efternavn, dato, hits FROM spillerprofiler ORDER BY hits DESC LIMIT 0,10");
while ($row = mysql_fetch_array($foresp)) {
    echo "$row[id], ";
}

Kan det ikke gøre det?
Avatar billede repsac Nybegynder
28. februar 2002 - 20:01 #8
=>EJ: kan man da ikke ORDER BY et CHAR?
Avatar billede repsac Nybegynder
28. februar 2002 - 20:02 #9
... jeg kan i hvert fald godt lokalt.
Avatar billede dennism Nybegynder
28. februar 2002 - 20:03 #10
Hvad skal det så være, når jeg skal sortere nogle dato´er? Du virker nemlig hellerikke!
Avatar billede erikjacobsen Ekspert
28. februar 2002 - 20:04 #11
Hvordan ser dine datoer ud? Er de af typen DATE i din tabel?
Avatar billede dennism Nybegynder
28. februar 2002 - 20:10 #12
Hvis jeg bruger DATE, hvad skal jeg så gøre for at få MySql til at indsætte den rigtige dato når jeg tilføjer noget?
Avatar billede dennism Nybegynder
28. februar 2002 - 20:17 #13
Hvilken kommando kan jeg bruge for at få PHP til at printe datoen på skærmen, og sådan den stadig passer til en DATE i Mysql?
Avatar billede erikjacobsen Ekspert
28. februar 2002 - 20:22 #14
Et dato format i PHP er altid YYYY-MM-DD og det skal du så
omforme til ved indsættelse og omforme fra ved visning.

Det er langt mere fornuftigt end det Microsoft har fundet på i ASP.
Avatar billede dennism Nybegynder
01. marts 2002 - 07:54 #15
-- Erikjacobsen

Hvordan gør jeg det?
Avatar billede erikjacobsen Ekspert
01. marts 2002 - 18:24 #16
Du kan jo starte med at i Mysql-dokumentationen online.

Ellers må du komme med flere oplysninger om hvad det er du
vil. Jeg har ikke lige nogle (offentlige...) kodestumper jeg kan
vise dig.
Avatar billede dennism Nybegynder
01. marts 2002 - 18:55 #17
Okay... Her kommen en forklaring:
Jeg har et adminsystem, hvor jeg og kan indsætte profiler... Jeg vil derfor have sådan at systemet automatisk indsætter en oprettelses dato! datoen skal indsættet i min mysql row, som heder 'dato', og som er af typen 'DATE'!
Hvordan laver jeg et script som henter den korrekte dato, og lægger din i en database?

(forstår du hvad jeg mener?)
Avatar billede erikjacobsen Ekspert
01. marts 2002 - 19:05 #18
Så skal du bare bruge date()-funktionen
Avatar billede dennism Nybegynder
01. marts 2002 - 19:34 #19
Ja... Men hvordan virker den, og hvordan skal jeg behandle de data jeg har hivet ud?
Avatar billede dennism Nybegynder
07. marts 2002 - 15:52 #20
Hallo Erik... Kan du hjælpe?
Avatar billede erikjacobsen Ekspert
07. marts 2002 - 17:14 #21
Jo, jeg hører dig, men hvad er det du ikke forstår i
MySql- og PHP-dokumentationen ?
Avatar billede dennism Nybegynder
07. marts 2002 - 19:23 #22
Jo... Jeg skal jo selv udfylde felterne i tabellen 'dato'... Men jeg ved ikke hvordan jeg hiver datoen ud af php og skriver den om til fx.:
7. Marts 2002

Dog skal det stadig være sådan at brugerne kan se de 10 nyeste... PHP skal altså kunne sotere i dataene!
Avatar billede dennism Nybegynder
12. marts 2002 - 18:06 #23
Hallo Erik... Kan du hjælpe?
Avatar billede erikjacobsen Ekspert
12. marts 2002 - 18:11 #24
Så skal du bare bruge date()-funktionen
Avatar billede dennism Nybegynder
12. marts 2002 - 18:17 #25
Ja... Men hvordan bruger jeg den?
Avatar billede dennism Nybegynder
12. marts 2002 - 18:20 #26
Fandt denne:
$today = getdate();
$month = $today['month'];
$mday = $today['mday'];
$year = $today['year'];
echo "$month $mday, $year";

Men den kommer med en Engelsk dato... Hvordan går jeg den danske?
Avatar billede dennism Nybegynder
12. marts 2002 - 18:21 #27
Men hvis jeg bruger: "$month $mday, $year" og gemmer dem i en variabel... Kan jeg så godt sortere dem korrekt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester