Sort

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thom Lala

Thom Lala

12/12/2007 16:57:00
Quote Anchor link
hallo

ik heb het volgende stukje script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$query            = mysql_query("SELECT * FROM `teams`");
while($team = mysql_fetch_object($query)) {
$wedstrijden = 0;
  
$dbres                = mysql_query("SELECT * FROM `gebruikers` WHERE `team`='{$team->name}'");
while($member = mysql_fetch_object($dbres))
$wedstrijden            += $member->wedstrijd;


nu krijg ik de volgende getallen: 5,3,4,7,5,6, enz.

Nu wil ik graag deze getallen van hoog naar laag laten zien, ik heb dit geporbeerd met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
sort($wedstrijden, SORT_DESC, SORT_NUMERIC);


Maar dan werkt het niet:S

Weet iemand een oplossing?

Fivel
Gewijzigd op 01/01/1970 01:00:00 door Thom Lala
 
PHP hulp

PHP hulp

09/01/2025 11:44:47
 
- wes  -

- wes -

12/12/2007 17:02:00
Quote Anchor link
in je query ORDER BY veld ASC/DESC

review je code nog even, het is erg slecht opgestelt
 
Willem vp

Willem vp

12/12/2007 17:04:00
Quote Anchor link
SORT_DESC bestaat niet in PHP; gebruik rsort(). Maar ook dat werkt niet, want $wedstrijden is een string en geen array en dus valt er weinig te sorteren.

Beter kun je MySQL al de data laten sorteren. Voeg daarvoor "ORDER BY wedstrijd DESC" toe aan je tweede query.
 
Thom Lala

Thom Lala

12/12/2007 17:07:00
Quote Anchor link
Dat had ik ook al geprobeerd, maar dat werkt niet..
 
Pieter van Linschoten

Pieter van Linschoten

12/12/2007 17:08:00
Quote Anchor link
Probeer ook in je Query's de variabelen buiten quotes te houden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
 $dbres
                = mysql_query("SELECT `wedstrijd` FROM `gebruikers` WHERE `team`='{$team->name}'");

# doe je zo:

 $dbres                = mysql_query("SELECT `wedstrijd` FROM `gebruikers` WHERE `team`='" .  $team->name . "'");
?>


Oja, je kan beter: explode(',',$wedstrijden) en dan array sorteren :')
Gewijzigd op 01/01/1970 01:00:00 door Pieter van Linschoten
 
- wes  -

- wes -

12/12/2007 17:09:00
Quote Anchor link
uiteraard werkt het niet, omdat de rest van je code ook kudt is, me thinks.

dat de JUISTE oplossing bij jou niet werkt betekend dat JOU script niet goed is, niet dat de oplossing fout is
 
Thom Lala

Thom Lala

12/12/2007 17:09:00
Quote Anchor link
En wat zou er volgens jou anders moeten?
 
Joren de Wit

Joren de Wit

12/12/2007 17:12:00
Quote Anchor link
Een lijstje met fouten waar je in ieder geval naar moet kijken:

- backticks in je query
- variabelen binnen quotes
- += is geen concatenatie operator, denk dat je .= bedoelt
- waar je nu 2 queries gebruikt kun je dat ook met 1 oplossen
- sorteren doe je met behulp van de database
- je controleert nergens of je query gelukt is, pas foutafhandeling toe!
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.