TOP 10 met nummers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Angelino

Angelino

28/10/2007 16:25:00
Quote Anchor link
ik wil uit een database iets halen dat ie de 10 beste gebruikers eruit haalt
Dus met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
while($list = mysql_fetch_object($sql)){
echo"$lijst->login<br>";
}

Maar nu wil ik dat ie een nummer ervoor zet dus nummer 1 t/m 10..
Weet iemand hoe dat moet?
 
PHP hulp

PHP hulp

20/11/2024 08:25:11
 
Frank -

Frank -

28/10/2007 16:27:00
Quote Anchor link
En waar is de query? Een top-10 (of wat voor top dan ook) stel je samen met een goeie query, niet met PHP.

Edit: Zie dit topic, daar speelde een soortgelijk probleem.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Angelino

Angelino

28/10/2007 16:29:00
Quote Anchor link
Ja het ziet er zo uit..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
include("config.php");
mysql_query("SELECT * FROM `users` WHERE level < 75 ORDER BY xp DESC LIMIT 0,10");
while($list = mysql_fetch_object($sql)){
    echo"$list->login<br>";
}

?>
 
Frank -

Frank -

28/10/2007 16:32:00
Quote Anchor link
Backics ` ? Ben je helemaal van de pot gerukt???

Verbranden die zooi en nooit meer gebruiken!

Zie verder de link naar het topic dat ik je reeds heb gegeven, pas die query even aan en klaar ben je.
 
Jaws

Jaws

28/10/2007 16:32:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$i
= 1;
include("config.php");
mysql_query("SELECT * FROM `users` WHERE level < 75 ORDER BY xp DESC LIMIT 0,10");
while($list = mysql_fetch_object($sql)){
    echo"$i $list->login<br>";
    $i++;
}

?>
 
Frank -

Frank -

28/10/2007 16:42:00
Quote Anchor link
@Jaws: Leuk en aardig, maar dit gaat niet werken op het moment dat je gelijke standen krijgt. Dan zou je net zo goed, of eigenlijk beter, een ordered list kunnen gebruiken. <ol><li>item</li></ol> nummert namelijk ook uitstekend.
 
Jaws

Jaws

28/10/2007 17:05:00
Quote Anchor link
@Frank: Die gelijke standen kun je dan voorkomen door de ORDER BY aan te passen. Dus eerst sorteren op xp en daarna op naam of zo.
 
Frank -

Frank -

28/10/2007 22:23:00
Quote Anchor link
Jaws schreef op 28.10.2007 17:05:
@Frank: Die gelijke standen kun je dan voorkomen door de ORDER BY aan te passen. Dus eerst sorteren op xp en daarna op naam of zo.
Niet met jouw script, die telt bij ieder record rustig door. Ook als dit record dezelfde ranking bevat als het vorige record.

Het scriptje is gewoon niet slim opgebouwd, niks aan te doen, teller weggooien en een goeie query op je database loslaten en het probleem is opgelost.
 
Manaus

Manaus

28/10/2007 22:45:00
Quote Anchor link
mssm oet het zo ffkes
de var $sql bestaat niet, dus moet je zorgen dat je query in een var staat je doet nu mysql_fetch maar de $sql is leeg dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$i
= 1;
include("config.php");
$sql=mysql_query("SELECT * FROM `users` WHERE level < 75 ORDER BY xp DESC LIMIT 0,10");
while($list = mysql_fetch_object($sql)){
    echo"$i $list->login<br>";
    $i++;
}

?>
 
Jaws

Jaws

28/10/2007 22:58:00
Quote Anchor link
@Frank: Waarom is het erg dat hij bij elke record rustig door telt dan? Je hebt toch een where clausule waarin je maar 10 users selecteerd met een level kleiner dan 75 en geordend op xp van hoog naar laag. Als ik die 10 mensen selecteer en dan doe fetchen in een while lus en voor iedere fetch er een $i voorzet die zich telkens optelt per fetch, wat klopt er dan nog niet?
 
Jelmer -

Jelmer -

28/10/2007 23:10:00
Quote Anchor link
Omdat jou naam eerder in alfabetische volgorde komt dan mijn naam geeft jouw meer recht op een eerste plaats dan ik?

1: Jaws - 75 punten
2: Jelmer - 75 punten
3: Arwen - 55 punten

Ik zou dit toch sympathieker vinden:
1: Jaws - 75 punten
1: Jelmer - 75 punten
3: Arwen - 55 punten

edit: Frank, wat is die nieuwe query dan?
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Jaws

Jaws

28/10/2007 23:17:00
Quote Anchor link
Hmm zit wel wat in ja :)

Ik gaf ook maar een voorbeeld wat betreft extra sorteren op naam. Ik weet niet wat voor een velden nog allemaal in die users tabel staan.

En als daar niets sympathieks tussen staat dan zal je OF de teller moeten aanpassen (maar dat zal pgFrank niet leuk vinden) OF je past de query aan en laat mysql alle vuile werk doen al zou ik zelf niet weten hoe.
 
Jurgen assaasas

Jurgen assaasas

28/10/2007 23:21:00
Quote Anchor link
Die teller is idd overbodig rekenwerk voor PHP. <ol> doet hetzelfde. En sinds dat het een top 10 is, is het vrij logisch dat het een ordened list is.
 



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.