Mam nastepujacy problem i nie bardzo moge sobie z nim poradzic.
Otoz. Mam w myqslu nastepujace tablice: postac, gra, iloscgier i zyskpostac. Sa polaczone relacyjnie. Postac w danej grze zyskuje przedmioty (mapy i kamienie w pieciu kolorach [zyskpostac] za kazde zwyciestwo [iloscgier]) lub je traci za kazda porazke.
Wszystkie zapytania i skrypty dzialaja. Problem tkwi w jednym z mechanizmów. otoz skrypt powinien zliczac mapy i kamienie (co zreszta robi). Problem w tym ze powinien wyswietlac mapy tego samego koloru tylko do pieciu a wlasciwie do czterech (przy pieciu mapach tego samego koloru powinien wyswietlac zero i doliczac od nowa znow do pieciu. Musi Tez pamietac ze te piec map nie znika ale zamienia sie kamien tego samego koloru. Nastepnie powinien zliczac kamienie ale znow tylko do siedmiu tego samego koloru (biorac pod uwage te kamienie z bazy danych oraz te kamienie utworzone w czasie zliczania). 7 kamieni tego samego koloru zmienia sie w jeden wzor wieku i to tez powinno byc dodawane i zwracana ilosc wzorow wieku kazdego koloru.
Doszedlem juz do tego, ze musi sie to odbywac w tablicy asocjacyjnej i nawet probowalem taki skrypt napisac, ale niestety cos mi nie wychodzi. Nie do konca jeszcze opanowalem tablice i troche sie gubie

Tak wyglada mniej wiecej moja strona w php
<? include('inc/gora.php'); ?> <BR> <? include('inc/conn.php'); ?> <? include('inc/menu.php'); ?> <BR> <? include('inc/giltharion.php'); ?> <br> <? include('inc/srodek.php'); ?> <table width="700" border="0"> <? $zapytanie = "SELECT * FROM postac, gra, postac_gra WHERE postac.postac_id=postac_gra.pos
tac_id and gra.gra_id=postac_gra.gra_id and postac_gra.postac_id='9' and postac_gra.gra_id='133'"; echo '<td class="nbb" width="200"><div align="Center"><font size="+2">',$rekord['nazwa'],'</font></div></td>'; ?> </table><br><br> <table width="700" border="0"> <? $zielonamapa = 0; $czerwonamapa = 0; $niebieskamapa = 0; $bialamapa = 0; $czarnamapa = 0; $zielonykamien = 0; $czerwonykamien = 0; $niebieskikamien = 0; $bialykamien = 0; $czarnykamien = 0; $cumunquiartefakt = 0; $samorodkimocy = 0; $krysztalymocy = 0; $ziarnamocy = 0; $wygrane = 0; $przegrane = 0; $remisy = 0; $zycie = 20; $dekrav = 0; $gilthariongrafika = $rekord['grafika']; $zapytanie2 = "SELECT * FROM postac, gra, iloscgier, zysk_giltharion WHERE gra.gra_id=ilos
cgier.gra_id and postac.postac_id=iloscgier.postac_id and iloscgier.zysk_gilthari
on_id=zysk_giltharion.zysk_giltharion_id and postac.postac_id='9'"; { $zielonamapa = $zielonamapa + $rekord2['zielonamapa']; $czerwonamapa = $czerwonamapa + $rekord2['czerwonamapa']; $niebieskamapa = $niebieskamapa + $rekord2['niebieskamapa']; $bialamapa = $bialamapa + $rekord2['bialamapa']; $czarnamapa = $czarnamapa + $rekord2['czarnamapa']; $zielonykamien = $zielonykamien + $rekord2['zielonykamien']; $czerwonykamien = $czerwonykamien + $rekord2['czerwonykamien']; $niebieskikamien = $niebieskikamien + $rekord2['niebieskikamien']; $bialykamien = $bialykamien + $rekord2['bialykamien']; $czarnykamien = $czarnykamien + $rekord2['czarnykamien']; $cumunquiartefakt = $cumunquiartefakt + $rekord2['cumunquiartefakt']; $samorodkimocy = $samorodkimocy + $rekord2['samorodkimocy']; $krysztalymocy = $krysztalymocy + $rekord2['krysztalymocy']; $wygrane = $wygrane + $rekord2['wygrane']; $przegrane = $przegrane + $rekord2['przegrane']; $remisy = $remisy + $rekord2['remisy']; $dekrav = $dekrav + $najnizszywieku; $zycie = $zycie + $dekrav; } $array_kamien = array("zielonykamien","czerwonykamien","bialykamien","niebieskikamien","czarnykamien"); for($i=0;$i<count($array_mapa);$i++) { if(($a = $$array_mapa[$i] / 5 - $$array_mapa[$i] % 5) >= 1) { $$array_kamien[$i] = $$array_kamien[$i] + $a; $$array_mapa[$i] = $$array_mapa[$i] - $a * 5; } } for($i=0;$i<count($array_mapa);$i++) { if(($a = $$array_kamien[$i] / 7 - $$array_kamien[$i] % 7) >= 1) { $$array_wieku[$i] = $$array_wieku[$i] + $a; $$array_kamien[$i] = $$array_kamien[$i] - $a * 7; } } echo '<tr><td width="400" class="pal"> Stopień Dekrav: '.$dekrav.'<br> Życie: '.$zycie.'<br> Ilość Turniejów: <br> Zwycięstwa w Typ 1:<br> Zwycięstwa w Typ 2:<br> Zwycięstwa w Typ 3:<br> </td>'; echo '<td width="300" class="pal" colspan="2"><div align="center"><img src="'.$gilthariongrafika.'" border="0"></div></td>'; echo '<tr><td width="230" class="pal"> <font class="greenb">Zielona Mapa: '.$zielonamapa.'</font><br> <font class="redb">Czerwona Mapa: '.$czerwonamapa.'</font><br> <font class="nbb">Niebieska Mapa: '.$niebieskamapa.'</font><br> <font class="whiteb">Biała Mapa: '.$bialamapa.'</font><br> Czarna Mapa: '.$czarnamapa.'</font><br> </td>'; echo '<td width="230" class="pal"> <font class="greenb">Zielony Kamień: '.$zielonykamien.'</font><br> <font class="redb">Czerwony Kamień: '.$czerwonykamien.'</font><br> <font class="nbb">Niebieski Kamień: '.$niebieskikamien.'</font><br> <font class="whiteb">Biały Kamień: '.$bialykamien.'</font><br> Czarny Kamień: '.$czarnykamien.'</font><br> </td>'; echo '<td width="230" class="pal"> <font class="greenb">Zielony Wzór Wieku: '.$zielonywieku.'</font><br> <font class="redb">Czerwony Wzór Wieku: '.$czerwonywieku.'</font><br> <font class="nbb">Niebieski Wzór Wieku: '.$niebieskiwieku.'</font><br> <font class="whiteb">Biały Wzór Wieku: '.$bialyywieku.'</font><br> Czarny Wzór Wieku: '.$czarnywieku.'</font><br> </td>'; ?> </table> <? include('inc/dol.php'); ?>
Problem tkwi w tej czesci skryptu bo reszta dziala
<?php $array_kamien = array("zielonykamien","czerwonykamien","bialykamien","niebieskikamien","czarnykamien"); for($i=0;$i<count($array_mapa);$i++) { if(($a = $$array_mapa[$i] / 5 - $$array_mapa[$i] % 5) >= 1) { $$array_kamien[$i] = $$array_kamien[$i] + $a; $$array_mapa[$i] = $$array_mapa[$i] - $a * 5; } } for($i=0;$i<count($array_mapa);$i++) { if(($a = $$array_kamien[$i] / 7 - $$array_kamien[$i] % 7) >= 1) { $$array_wieku[$i] = $$array_wieku[$i] + $a; $$array_kamien[$i] = $$array_kamien[$i] - $a * 7; } } ?>
Wlasciwie to to to dziala ale nie tak jak chce. Np. tylko kamienie czarne zmienily sie w jeden wzor wieku po osiagnieciu siedmiu biale np wyswietlaja sie w liczbie 8 co nie powinno miec miejsca ale nie rozumiem dlaczego

Drugi problem jest nastepujacy. Tablica powinna sprawdzac, ktory wzor wieku ma najnizsza wartosc i wrzuca na do zmiennej
. Wazne jest to ze po kazdej grze teoretycznie inny kolor wzoru wieku moze miec najnizsza wartosc.
<?php $najnizszywieku ?>
Bardzo prosze o pokazanie mi jak zrobic taki skrypt i w miare mozliwosc wyjasnic gdzie popelniam bledy
Witam ponownie znalazlem blad w skrypcie. Po prostu zamknalem za wczesnie petle.
Jednakowoz pojawil sie inny blad. Otoz wszystko dziala i zlicza jak powinno ale tylko pod warunkiem, ze wartosc dodawanego kamienia przy przechodzeniu z 6 na 0 wynosi 1 wtedy wszystko dziala. Jezeli jednakowoz wynosi wiecej niz 1 znowu pojawia sie wartosc 8 i nie dodadaje jeden do wzoru wieku.
Bardzo prosze o pomoc
Z powazaniem
Zicher