Ik ben bezig een statistieken pagina te maken maar nu weet ik niet hoe ik dit moet doen. Wat ik op dit moment heb is dit:
Nu snap ik dat deze code niet werkt want order by $krachttotaal is nog niet gedefinieerd. Ik heb dit enkel even zo gemaakt als voorbeeld. Hoe maak ik dit nou wel goed?PHP Code:
$sqlkracht = "SELECT * FROM gebruikers WHERE admin = 0 ORDER BY '" . $krachttotaal . "' DESC LIMIT 5";
$querykracht = mysql_query($sqlkracht) or die (mysql_error());
$ikracht = 1;
while($fetchkracht = mysql_fetch_assoc($querykracht)){
$krachttotaal = $fetchkracht['verdediging'] + $fetchkracht['aanval'];
- Hoe moet ik de gegevens zo uit de database halen?
-
993 × bekeken sinds 18-01-2010, 14:19 #1Skebantje
- Ik accepteer betaling via
- Bank
- Berichten
- 1.406
- Lid sinds
- 17 Jaar
Hoe moet ik de gegevens zo uit de database halen?
Laatst aangepast door Robbin de Kruijf : 18-01-2010 om 14:46
-
In de schijnwerper
-
18-01-2010, 14:27 #2
- Berichten
- 330
- Lid sinds
- 18 Jaar
bijvoorbeeld:
PHP Code:$krachtorder = "verdediging ASC";
$sqlkracht = "SELECT * FROM gebruikers WHERE admin = 0 ORDER BY " . $krachtorder . " LIMIT 5";
$querykracht = mysql_query($sqlkracht) or die (mysql_error());
$ikracht = 1;
while($fetchkracht = mysql_fetch_assoc($querykracht)){
$krachttotaal = $fetchkracht['verdediging'] + $fetchkracht['aanval'];
}
-
18-01-2010, 14:30 #3
- Berichten
- 1.406
- Lid sinds
- 17 Jaar
Nee want $krachttotaal moet
$krachttotaal = $fetchkracht['verdediging'] + $fetchkracht['aanval'];
Dat worden.. maar dat kan ik pas zo doen als ik de waardes uit me db heb gehaald..
-
18-01-2010, 14:31 #4
- Berichten
- 51
- Lid sinds
- 15 Jaar
Bedoel je niet gewoon:
select naam, verdediging + aanval as totaal from gebruikers order by totaal desc limit 5;
Om de gebruikers naam en verdediging + aanval te selecteren (gesorteerd om verdediging + aanval van hoog naar laag)..
-
18-01-2010, 14:33 #5
- Berichten
- 1.406
- Lid sinds
- 17 Jaar
oke kijk dat wist ik dus niet dus ik moet doen..
$sqlkracht = "SELECT naam, verdediging + aanval AS totaal FROM gebruikers WHERE admin = 0 ORDER BY totaal LIMIT 5";
-
18-01-2010, 14:35 #6
- Berichten
- 330
- Lid sinds
- 18 Jaar
De oplossing van Corne is inderdaad het beste!
PHP Code:$sqlkracht = "SELECT naam, (verdediging + aanval) AS totaal FROM gebruikers WHERE admin = 0 ORDER BY totaal DESC LIMIT 5";
-
18-01-2010, 14:39 #7
- Berichten
- 1.406
- Lid sinds
- 17 Jaar
En het weergeven van totaal hoe doe ik dat dan?
-
18-01-2010, 14:40 #8
- Berichten
- 330
- Lid sinds
- 18 Jaar
Dat kan je gewoon middels:
PHP Code:while($fetchkracht = mysql_fetch_assoc($querykracht)){
echo ucfirst($fetchkracht['naam']).' : '.$fetchkracht['totaal'];
}
-
18-01-2010, 14:41 #9
- Berichten
- 51
- Lid sinds
- 15 Jaar
"verdediging + aanval" heeft als alias totaal gekregen in bovenstaand voorbeeld.
Je kunt deze bij het weergeven in je script hetzelfde behandelen alsof het een kolom totaal is..
(waar je normaal een 'echo $row['username']' of iets dergelijks zou hebben, heb je nu dus hetzelfde voor 'totaal'..
echo $row['totaal'];
-
18-01-2010, 14:44 #10
- Berichten
- 1.406
- Lid sinds
- 17 Jaar
Hartstikke bedankt, het werkt helemaal! ik had nog nooit van deze oplossing gehoord. Heel erg bedankt allemaal!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic