Nic nie rozrzuciłem tak wygląda zawartość jednego z moich if'ków. no może sa tam jeszcze z dwa linki które nic nie wnoszą do reszty..
Nieco wyjaśnie..
losuje sobie z bazy jeden element
Kod
$plan = $db -> Execute("SELECT * FROM `smith` WHERE owner=0 && level between ".$min." and ".$max." && (type='A' || type='S' || type='H' || type='W' || type='L') ORDER BY RAND() LIMIT 1");
tu miało zliczyć ile jest już elememtów takich jak wylosowano z bazy
Kod
$spr = $db -> Execute("SELECT count(*) as name FROM smith WHERE name=".$plan->fields['name']." && type=".$plan->fields['type']." && level=".$plan->fields['level']." && owner=".$player->id);
Potem sprawdzenie czy są jakieś wpisy o podanych kryteriach jeśli nie ma to jest 0 rekordów. If sprawdza czy to co zostało zwrócone jest wieksze od "0" Jak tak pisze komunikat ze już jest i nie dodaje wpisu.. jeśli jest "0" to dodaje do bazy wylosowany $plan
Kod
$db -> Execute("INSERT INTO smith (owner, name, type, cost, amount, level, lang) VALUES(".$player -> id.", '".$plan -> fields['name']."', '".$plan -> fields['type']."', ".$plan -> fields['cost'].", ".$plan -> fields['amount'].", ".$plan -> fields['level'].", '".$plan -> fields['lang']."')");
Gdy zamiast zmiennych w $spr
Kod
name=".$plan->fields['name']." && type=".$plan->fields['type']." && level=".$plan->fields['level']."
wpisałem konkretne wartości/nazwy przedmiotów (jakieś przykładowe które mam w bazie) przez myphpadmina to działa zwraca ich liczbę ale gdy chcę podstawić wartości w zmiennych już w kodzie php które są pobrane przy losowanu w pierwszym zapytaniu, juz nie..
Ewentualnie niech ktoś podpowie jak sprawdzić czy dany wylosowany element który chcę dodać do bazy jest juz w niej..
(lista przedmiotów dostepnych w losowaniu, oraz dodawanie przedmiotów odbywa sie w jednej tabeli.. rozróznią je tylko kolumna "owner" gdzie "0" z tych losuje, po losowaniu wpis zostaje dodany do tej samej tabeli z "owner= id usera")
Ogólnie chodzi o to aby gdy wylosuje przedmiot który już "mam" nie zostawał ponownie dodany do bazy.