Sorterer tal 1-10-11-12-100-101 osv?!

Tags:    php

Jeg har brug for at få nogle tal ordnet på min hjemmeside...

Når jeg sorterer dem nedadgående (DESC), så sorterer den dem f.eks. således

1-100-102-3-30-300-40-500 ???

Dvs. den ordner dem kun efter første tal, og hvis de to første tal er ens, så sorterer den efter næste osv osv...

hvordan kan man få dem sorteret i nummerisk rækkefølge
(altså 1-2-3-4-5-6-7-8-9-10 ??? )

Mvh
Daniel Grau



Jeg har brug for at få nogle tal ordnet på min hjemmeside...

Når jeg sorterer dem nedadgående (DESC), så sorterer den dem f.eks. således

1-100-102-3-30-300-40-500 ???

Dvs. den ordner dem kun efter første tal, og hvis de to første tal er ens, så sorterer den efter næste osv osv...

hvordan kan man få dem sorteret i nummerisk rækkefølge
(altså 1-2-3-4-5-6-7-8-9-10 ??? )

Mvh
Daniel Grau


Du skal sørge for at PHP sorterer dem nummerisk og ikke som strenge...

sort($array, SORT_NUMERIC);

Det skulle gøre det.

Mvh
Kaare




Du skal sørge for at PHP sorterer dem nummerisk og ikke som strenge...

sort($array, SORT_NUMERIC);

Det skulle gøre det.

Mvh
Kaare


Hmm.. har prøvet noget alla dette:

Fold kodeboks ind/udKode 








Du skal sørge for at PHP sorterer dem nummerisk og ikke som strenge...

sort($array, SORT_NUMERIC);

Det skulle gøre det.

Mvh
Kaare

Hmm.. har prøvet noget alla dette:

Fold kodeboks ind/udKode 





Tror at du skal sortere bagefter din while lykke!

MH.

The-Freak

Livet er for kort til at kede sig.



Har du i din MySQL tabel valgt feltet visninger som et integer felt?

---
Hilsen Anders




Du skal sørge for at PHP sorterer dem nummerisk og ikke som strenge...

sort($array, SORT_NUMERIC);

Det skulle gøre det.

Mvh
Kaare

Hmm.. har prøvet noget alla dette:

Fold kodeboks ind/udKode 





sort-funktionen sorterer kun arrays. $resultat er bare en forespørgsel til din database. Du skal først hente dataene ud, og bagefter sortere dem:

Fold kodeboks ind/udKode 

n i f e
115 105 102 105
6E 69 66 69




Du skal sørge for at PHP sorterer dem nummerisk og ikke som strenge...

sort($array, SORT_NUMERIC);

Det skulle gøre det.

Mvh
Kaare

Hmm.. har prøvet noget alla dette:

Fold kodeboks ind/udKode 





Nå, siden du ikke skrev noget om MySQL gik jeg ud fra at det var et ganske almindeligt PHP-array. Svaret findes i at du i din MySQL database højst sandsynligvis ikke har sat feltet "visninger" til integer, men varchar, eller noget lignende, så sorterer den rækken som en streng (hvor den kigger på første karakter, så næste osv.). Kør denne query og så skulle du være godt kørende:

ALTER TABLE `billeder` CHANGE `visninger` `visninger` INT( 8 ) NOT NULL

Forresten, så skal queryen kun køres en gang.

Mvh
Kaare

[Redigeret d. 19/07-04 14:41:38 af Kaare Skovgaard]



Hey...

Har været på arbejde hele dagen, så derfor jeg desværre ikke har kunnet skrive tilbage....

har prøvet lidt af med at smide det ind i forskellige arrays, men har ikke kunnet få det til at virke (min hjerne arbejder langtfra 100% lige nu)....

Men du har ret kaare, har sat det som varchar... ;)

Hmm.. hvad mener du med at query'en kun skal køres en gang?!?! er det ikke nødvendigt med while løkken!!??!

Mvh
Daniel Grau

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

Og LUR mig om ikke det simple med at skifte fra varchar til int ikke virkede...

kanon... Så har jeg også lært det...

Tusind tak for hjælpen Kaare (og også Anders som egentlig kom på rette vej først :P ) :)

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

Og lige et hurtigt side spørgsmål...

Har nogle værdier i min DB som jeg gerne vil ha talt op...

altså.. kommentarer til de forskellige billeder, og vil gerne ha optalt hvor mange kommentarer der er til det enkelte billede...

mener at ha set en funktion der gør det, hvor man først kører en query allá

$resultat = mysql_query("SELECT kommentarer FROM kommentarer WHERE id = '$_GET[id]'");

og SÅ skal der ellers tælles ;)

Hvis nogen gad skrive det lidt simpelt :P
Er ikke såååå hård til php endnu...
Men man blir jo bedre og bedre for hver dag der går :P

[Redigeret d. 19/07-04 23:50:19 af Daniel Grau]



Det kunne gøres med mysql_num_rows():

$resultat = mysql_num_rows(mysql_query("SELECT kommentarer FROM kommentarer WHERE id = '$_GET[id]'"));

echo "Der er " . $result . " kommentare";

---
Hilsen Anders



Det kunne gøres med mysql_num_rows():

$resultat = mysql_num_rows(mysql_query("SELECT kommentarer FROM kommentarer WHERE id = '$_GET[id]'"));

echo "Der er " . $result . " kommentare";

---
Hilsen Anders




Aaaaaah... viel dank mein kleiner liebchen




t