Ik zal morgen kijken! Het is een lange dag geweest vandaag dus ik ga slapen.

Maximaal 2 bezittingen
-
-
Guest, wil je besparen op je domeinnamen? (ad)
-
Wel terusten! Ik hoor wel of het gelukt is..
-
Ik ben even je code aan het inbouwen, maar dit zal niet werken. De dobbeltafels structuur heeft geen famid tabel, dit is bewust gedaan.
Het script moet zo werken dat hij de familie id uit userData haalt.
-
Het zou makkelijker zijn als je gewoon famid in de tabel doet. Ik vraag me af waarom je dit bewust niet hebt gedaan. Het word namelijk een stuk moeilijker zo geloof ik..
-
Het zou makkelijker zijn als je gewoon famid in de tabel doet. Ik vraag me af waarom je dit bewust niet hebt gedaan. Het word namelijk een stuk moeilijker zo geloof ik..
Omdat veel meer scripts met de bezittingen werken, en een speler kan op veel manieren zijn bezitting verliezen. De database moet dan dus steeds weer aangepast worden, het schilt heel wat script werk als ik het gewoon zo krijg.
-
Okee, ik heb zelf nog weinig ervaring met COUNT, dus ik kan je op dat gebied dan niet verder helpen
-
Oké, waarom zoe je niet dit: haal van alle mensen in de familie de bezittingen op door een query, tel vervolgens het aantal resultaten, met mysql_num_rows en controleer je of dat 2 is.
Als je mij even de benodigde informatie over je tabellen stuurt, dan zal ik vanavond even een script voor je maken.
-
Sukel ik heb met je meegewerkt aan deze source weet je nog:P
Als ik me niet vergis was familie id $famID -
Er van uitgaande dat alle "casinos" en "kogelfabrieken" in de tabel "bezitDobbelen" staat.
Query:SQLSELECT COUNT(bd.id) AS aantalBezittingen FROM bezitDobbelen AS bd JOIN userData AS ud ON ud.id=bd.owner WHERE ud.family_id = '".$famID."'"
Voorbeeld:
PHP
Toon Meer$query = "SELECT COUNT(bd.id) AS aantalBezittingen FROM bezitDobbelen AS bd JOIN userData AS ud ON ud.id=bd.owner WHERE ud.family_id = '".$famID."'"; $exec = mysql_query($query) or die ( mysql_error () ); $result = mysql_fetch_assoc($exec); if($result['aantalBezittingen'] >=2 ){ echo 'Je hebt 2 of meer bezittingen'; }else{ echo 'Je hebt minder dan 2 bezittingen'; }
-
Ik wist dat het ongeveer met zo'n query moest, maar snap echter nog niet helemaal hoe het werkt.
Zou je de code misschien even willen uitleggen?Het script werkt wel! 2 familieleden hebben een dobbeltafel, dus toen ik naar de dobbeltafel ging krijg ik de foutmelding:
"Je kan deze dobbeltafel niet overnemen omdat je familie er al 2 heeft!"
En als maar 1 familielid een dobbeltafel heeft, of geen enkele familielid het heeft, kan ik de dobbeltafel wel gewoon kopen!
Het script werkt nu naar behoren!
Iedereen, bedankt voor jullie hulp! En vooral jij, DirkZz! -
SQL
SELECT COUNT(bd.id) AS aantalBezittingen FROM bezitDobbelen AS bd JOIN userData AS ud ON ud.id=bd.owner WHERE ud.family_id = '1'
Je laat query's met elkaar vergelijken om hieruit op te maken hoeveel er binnen de familie al in bezit zijn.
Weet zelf niet alles van JOIN en de rest, lees meestal zelf deze tutorial goed door om te begrijpen wat het doet.http://w3schools.com/sql/sql_join.asp
Er zijn er overigens nog veel meer, maar die moet je even doorlezen wil je deze echt kunnen begrijpen.
-
Graag gedaan, en natuurlijk wil ik het even uitleggen.
In dit stukje tel je de dobbel-id's van bezitDobbelen en noem je die waarde aantalBezittingen. En de tabel bezitDobbelen refereer je naar via "bd".
Vervolgens JOIN de de userData tabel, die vervolgens "ud" heet, waar het id van de user ("ud.id") overeenkomt met het id van de dobbeltafel eigenaar ("bd.owner")
Waar de familiy van de gebruiker overeenkomt met $famID.
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!