3 Verschillende vragen betreft waardes uit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Eilander

Marco Eilander

10/09/2013 12:05:59
Quote Anchor link
Hallo,

ik ben bezig met een klein spelletje te maken in php en zit met verschillende vragen.
Namelijk :

Vr 1. Bankgeld van alle gebruikers bij elkaar optellen (vanuit de database)
Ik ben bezig met een statistieken pagina en daarop wil ik weergeven hoeveel geld er in totaal in het spel aanwezig is. Hoe kan ik dat het beste doen?

Is dit een goede manier? (niet dat het werkt)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$stats
= mysql_query("SELECT bankgeld FROM members");

while($ranking = mysql_fetch_assoc($stats)) {
&
totalbankgeld = 0 + $ranking['bankgeld'];
}

?>

En dat het dan per row result wordt opgeteld, of is er een betere/andere manier?
Het valt mij namelijk op dat ik voor veel dingen in PHP het bovenstaande code gebruik.
Ik ben namelijk nog niet zo heel goed in PHP.


Vr 2. Uitgebreide ledenlijst maken.
Ik heb momenteel mijn ledenlijst zo gemaakt, dat je jezelf in een kleurtje ziet staan.
Bij verschillende ledenlijsten zie ik ook een rank:

#1 gebruiker
#2 gebruiker2
#3 gebruiker3

etc. In sommige stukjes PHP heb ik ook wel eens zoiets als "for each.." en een waarde met "++",
Wordt dat gebruikt bij de ranken bepalen? Zoja, hoe?
Hoe kan ik er voor zorgen, dat er na een bepaalde aantal results een pagina erbij komt?
De meeste ledenlijsten hebben onderaan en/of bovenaan: "[1],[2],[3].." staan.


Vr 3. Met welke code kan je zien, wat de gebruikers het meest hebben gekozen?
Stel je hebt 3 personages, waar de de gebruikers uit kunnen kiezen in het begin. Hoe kan ik het laten uitrekenen, welk van de 3 het meest is gekozen?

Ik kom elke keer weer bij het bovenstaande script, maar dan selecteren op "personage" en vervolgens alle results bij elkaar optellen. Is daar een betere manier voor?

Ik hoop dat er mensen zijn, die mij hier antwoord op kunnen geven.

Mvg,
Marco
 
PHP hulp

PHP hulp

23/04/2024 23:05:43
 
Stephan G

Stephan G

10/09/2013 12:49:40
Quote Anchor link
1
Om te laten zien hoeveel geld er in totaal aanwezig is, kun je de SUM() functie gebruiken in MySQL. Bijv.:

SELECT SUM(bankgeld) FROM members

2.1
Wat voor soort rank heb je het over? Over het algemeen wordt in de database opgeslagen welke rank een member heeft, en wordt dat niet gehard-code in het script zelf.

2.2
Dit doe je door een pager te maken en te gebruiken. Een pager is een class of verzameling van functies die (1) het totale aantal resultaten telt, (2) kijkt hoeveel resultaten er per pagina mogen komen, (3) aan de hand daarvan berekent hoeveel pagina's er zijn en opties creëert om te navigeren tussen die pagina's.

3
Om dit uit te kunnen rekenen, zul je deze statistieken moeten bijhouden in bijvoorbeeld een database tabel. Vervolgens kun je tellen hoe vaak welke optie is gekozen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/09/2013 12:52:05
Quote Anchor link
Antw. 1
In SQL heb je aggegrate functions
Dus bv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT SUM(bankgeld) AS totaal FROM members


Antw. 2
Google eens op pagination, er zijn voldoende voorbeelden te vinden.


Antw. 3
Ook dit kan je gewoon weer met een query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT p.personage_naam, COUNT(*) AS gekozen
FROM members AS m
INNER JOIN personage AS p ON p.personage_id = m.personage_id
GROUP BY p.personage_naam
ORDER BY gekozen DESC
LIMIT 1
 
Marco Eilander

Marco Eilander

10/09/2013 13:04:07
Quote Anchor link
Stephan G op 10/09/2013 12:49:40:


2.1
Wat voor soort rank heb je het over? Over het algemeen wordt in de database opgeslagen welke rank een member heeft, en wordt dat niet gehard-code in het script zelf.


Stel dat ik 50 gebruikers heb. Dan is de bedoeling dat de ranks in de ledenlijst 1 tot 50 wordt. De ranken worden niet uit de database gehaald. Je zou het kunnen vergelijken met een toplijst. De ranken blijven staan, maar de gebruikers en andere informatie kan worden verschoven naar boven/beneden doormiddel van hoogste level.



@Ger van Steenderen,

Bedankt voor je uitleg/info. :)
ik zal even verder googlen, en zijn mijn vragen hierbij beantwoord. :)
Gewijzigd op 10/09/2013 13:10:09 door Marco Eilander
 
Stephan G

Stephan G

10/09/2013 13:07:41
Quote Anchor link
In dat geval zou ik gewoon een ORDER BY in je query opnemen, en inderdaad verder gewoon met PHP een nummertje voor de namen gooien :).
 



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.