Maximaal 2 bezittingen

  • 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..


    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.

  • 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.

  • Er van uitgaande dat alle "casinos" en "kogelfabrieken" in de tabel "bezitDobbelen" staat.
    Query:

    SQL
    SELECT COUNT(bd.id) AS aantalBezittingen 
    FROM bezitDobbelen AS bd 
    JOIN userData AS ud ON ud.id=bd.owner
    WHERE ud.family_id = '".$famID."'"


    Voorbeeld:

  • 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".

    SQL
    SELECT COUNT(bd.id) AS aantalBezittingen 
    FROM bezitDobbelen AS 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.

    SQL
    JOIN userData AS ud ON ud.id=bd.owner
    WHERE ud.family_id = '".$famID."'"

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!