hallo,

met dit regeltje haal ik de speler uit de database met de meeste punten


$cupchecker = mysql_fetch_array(mysql_query("SELECT id FROM members order by ffapoints desc"));
$cupholder = $cupchecker[id];

maar kan ik ook het twee record op die manier opvragen?

bedankt !
LIMIT 2 toevoegen aan je Query moet dan volstaan.
Met een while loop, kan je meerdere records ophalen die uit je query komen.
Het is overigens netter om je code als volgt neer te zetten:


$sql="SELECT id FROM members order by ffapoints desc";
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$cupholder = $row[0];
}
Hoezo netter? Ik zie kleine letters in je sql commandos, en alles achter elkaar. Niet fout, maar ook niet net.

Verder ontbreekt foutafhandeling
ik vind mijn manier ook overzichtelijker, op het moment :)

maar euh, met LIMIT heb ik dadelijk het tweede record dan? zonder een loop te moeten maken? want dat is waar ik achter zocht ...
@Groovez, waarom wil je geen while loop? Je wilt alleen het 2e resultaat krijgen? Want als je het 1e en het 2e resultaat wilt moet je LIMIT 2 gebruiken (dat zegt, krijg de eerste 2) en als je alleen het 2e resultaat wilt moet je LIMIT 1,2 (dat zegt, krijg alle resultaten vanaf het 1e tot en met de 2e en dus krijg je alleen de 2e).
Jeroen vd op 16/04/2012 22:49:46

Hoezo netter? Ik zie kleine letters in je sql commandos, en alles achter elkaar. Niet fout, maar ook niet net.

Verder ontbreekt foutafhandeling


Ik heb geleerd van een zeer ervaren programmeur, dat je de query en daadwerkelijke uitvoering er van dient te scheiden, omdat dit veiliger is.
Netter was daarbij inderdaad een onjuiste omschrijving.

Ik heb geleerd van een zeer ervaren programmeur, dat je de query en daadwerkelijke uitvoering er van dient te scheiden, omdat dit veiliger is.

Je hebt wel het juiste geleerd, alleen niet waarom. Er is voor PHP namelijk totaal geen verschil of je nou de query direct in de functie typt of doormiddel van een variabele in de functie stopt.
Het verschil is wel dat mocht er iets fout gaan en je wilt debuggen dat je dan de query makkelijker kunt echoën om te zien of die wel is zoals het lijkt.
Tevens mis je elke form van foutafhandeling, dus zal deze 'goede gewoonte' totaal onzinnig zijn omdat je op deze manier toch niet kunt debuggen.
Aha, weer iets geleerd dan.
Ben zelf nog niet lang bezig met MySql, dus heb nog heel veel te leren.
Heb overigens met de beperkte kennis al wel een volledig toernooi systeem weten te bouwen :D

Zie hier: KLIK
Als je wilt weten hoe je goede foutafhandeling maakt moet je eens hier kijken, daar heb ik per query en voor de connectie een script gemaakt die naar mijn mening de correcte manier is: http://github.com/WouterJ/SQL-boilerplate/tree/mysql/
@Sjoerd: Een site met frames. Dat is uit de vorige eeuw....

Reageren