correct me if i'm wrongquote:Op vrijdag 19 november 2004 19:17 schreef DutchBlood het volgende:
Het volgende, ik ben bezig met de site voor een schaakclub..
Nu wil ik daar voor 1 speler de resultaten die die speler behaalt heeft tegen andere spelers laten zien.
Alleen kost me dat, zoals ik het nu uitgedacht heb, een boel mysql queries.
Namelijk:
Speler 1 | WINST | REMISE | VERLIES
Speler 14 | WINST | REMISE | VERLIES
(14 spelers in totaal bijv)
Het is de bedoeling dat de partijen in een andere tabel worden opgeslagen.
Maar per speler ben ik dus al 3 mysqlqueries kwijt(SELECT * FROM table WHERE speler=1 and winst =1, en zo ook over verlies en remise.. En dat dus 14 keer.
Dus 14 x 3 = 42 Select queries in een pagina..
Nu mijn vragen:
Is 42 queries veel/kost dat veel performance?
En is er eventueel een andere makkelijkere oplossing?
Ik ben nog niet begonnen met scripten/gegevens invoeren, dus alles is mogelijk.
Dat heeft niet het gewenste effect denk ik, dan zou ik alleen de matches van de speler met PlayerID krijgen, en niet van playerID1 tegen PlayerID2.quote:Op vrijdag 19 november 2004 19:23 schreef Pakspul het volgende:
[..]
correct me if i'm wrong
maar je geeft elke match een ID en dan spelerA tegen spelerB en match result (set=winst, remise, verlies)
en dan kun je gewoon alles ophalen waar de speler heeft gespeeld SELECT * FROM bla WHERE player1 = playerID OR player2 = playerID
Hij zoekt alles waar player1 = playerID OF! player2 = playerID hij haalt dus alles op waar playerID heeft gespeeld en dan kun je via php uitzoeken of hij uit speelde (player2) of thuis (player1)quote:Op vrijdag 19 november 2004 19:43 schreef DutchBlood het volgende:
[..]
Dat heeft niet het gewenste effect denk ik, dan zou ik alleen de matches van de speler met PlayerID krijgen, en niet van playerID1 tegen PlayerID2.
Maar hoe kom ik dan achter het totale aantal winsten van een speler tegen de andere?quote:Op vrijdag 19 november 2004 20:31 schreef Pakspul het volgende:
[..]
Hij zoekt alles waar player1 = playerID OF! player2 = playerID hij haalt dus alles op waar playerID heeft gespeeld en dan kun je via php uitzoeken of hij uit speelde (player2) of thuis (player1)
Wat jij doet vind ik persoonlijk ranzig in een loopje een query uitvoeren volgens mij moet mijn query alles perfect ophalen
dit is mijn idee voor de database
matchID (int)
player1 (smallint)
player2 (smallint)
result (set=winst,gelijk,verlies)
Zoiets had ik al bedacht, zonder het clubgebeuren, dat is niet nodig.quote:Op vrijdag 19 november 2004 20:42 schreef Chandler het volgende:
hoe diep wil je je mysql database hebben DutchBlood, ik weet ook wel een leuk schematje voor je.
info?
- club
- player
- matches
db club
--
id (int)
naam (string * 25)
db player
--
id (int)
club_id (int)
naam (string * 25)
db matches
--
id (int)
club_id (int)
player_id (int)
tijd (time)
result (enum 'g', 'v', 'r')
nu kan je kijken welke clubs met welke spelers tegen elkaar zijn geweest, en welke player het snelste mensen verslaat... en wie't meeste heeft gewonnen....
tis maar een klein ideetje.
player_win++ ?quote:Op vrijdag 19 november 2004 21:09 schreef DutchBlood het volgende:
[..]
Maar hoe kom ik dan achter het totale aantal winsten van een speler tegen de andere?
Dus eerst de winsten van alle spelers in een keer ophalen, die in bijv een array proppen en dan de resultaten printen.quote:Op vrijdag 19 november 2004 21:15 schreef Pakspul het volgende:
[..]
player_win++ ?
Euh nee dat is eigelijk veel slechter. Het idee van een database is dat je er uit haalt wat je nodig hebt, niet meer en niet minder. Laat dus een database zelf de juiste data selecteren. Als je database goed gemodeleerd is, kun je alles van een entiteit binnenhalen met een enkel sql statement.quote:Op vrijdag 19 november 2004 21:16 schreef DutchBlood het volgende:
Dus eerst de winsten van alle spelers in een keer ophalen, die in bijv een array proppen en dan de resultaten printen.
Das inderdaad veel beter, thnx.
Ik weet niet of php ook aan data hiding doet (in dit geval het niet toegankelijk maken van de variabelen van de klasse MYSQL vanaf buiten de klasse) want dat is wel een aanrader. Ik zou dan vervolgens een contructor schrijven met de vier argumenten voor een directe initialisatie. Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse. Dan begint het een beetje op OO te lijken.quote:Op zaterdag 20 november 2004 00:21 schreef mschol het volgende:
heel simpel ik wil weten of mij eerste o.o.p gerichte php scriptje klopt, ik heb wel eens wat gedaan met o.o.p. maar heb het nnooit 100% gesnapt volgens mij vandaar..
Misschien is de = operator al overloadedquote:Op zaterdag 20 november 2004 16:08 schreef markvleth het volgende:
Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse.
zou je dat een beetje kunnen uitleggen?? (tis immer voor dummies deze hoekquote:Op zaterdag 20 november 2004 16:08 schreef markvleth het volgende:
[..]
Ik zou dan vervolgens een contructor schrijven met de vier argumenten voor een directe initialisatie. Vervolgens "get" en "set" functies voor de attributen(name, host, etc) van deze klasse. Dan begint het een beetje op OO te lijken.
Ik dacht dat je de = operator kon overloaden in php, gelijk aan C++. Maar je roept slecht 1 polymorphe functie aan. Voortaan beter lezen.quote:Op zaterdag 20 november 2004 16:41 schreef markvleth het volgende:
Ja en voor de rest heeft overloading hier helemaal niets mee te maken
yupquote:Op zaterdag 20 november 2004 23:33 schreef Swetsenegger het volgende:
OOP in een dummy topic
Toch zo simpelquote:Op zaterdag 20 november 2004 23:57 schreef ensifex het volgende:
[php]
<?php
$year = date("Y");
$month = date("n");
$day = date("j");
$date = date("M-d-Y", mktime(0, 0, 0, ($month+3), $day, $year));
?>
[/php]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |