Door
Marco Eilander
op 03-04-2016 22:05
gewijzigd op 03-04-2016 22:15
2.109 views
Hallo,
Ik heb dit :
$getprize = $connect->query("SELECT * FROM prijzen WHERE item NOT LIKE '%".$specials['item']."%' AND rarity = '".$rarity."' ORDER BY rand() LIMIT 1");
En ik wil graag, dat je uit tabel "prijzen" alleen items kan winnen, die niet op de blocklist staan.
Alle items die je 1 maal kan winnen, worden opgeslagen in tabel "blocklist".
Ik heb ook gezocht op arrays, IF NOT etc, maar geen enkele tutorial of uitleg van stackoverflow werkt.
Wellicht kan het zijn, dat veel op stackoverflow oud is en nog mysql gebaseerd is.
tabel met prijzen heb ik wat je allemaal kan winnen, wanneer je een specifieke item hebt gewonnen, wat men maar 1 keer mag hebben, wordt het opgeslagen in een ander tabel met gebruiker id.
als ik een extra kolom zou maken, en daar "blocked" in zou zetten, dan kan niemand meer de item winnen ipv enkel die ene gebruiker.
Vervolgens kun je alle niet-gewonnen prijzen verkrijgen door een query als deze:
SELECT p.prijs_id, p.omschrijving FROM prijzen p
LEFT JOIN gewonnen g ON p.prijs_id = g.prijs_id
WHERE g.user_id IS NULL
Toevoeging op 03/04/2016 23:10:47:
in Blocklist moet de kolom id helemaal weg omdat het een koppeltabel is. gebruiker varchar weg en dit moet worden speler_id (integer) en zo ook voor de kolom item. Dit moet worden item_id (integer).