Mam maleńki problem, w którym niestety nie umiem znaleźć rozwiązania.
Mój kod i pomysł jest prosty. User zbiera karty, system przydziela mu losowo kartę którą kupi, więc może mieć nawet 10 tych samych kart.
Sęk w tym, że chciałbym umożliwić userowi, żeby mógł zobaczyć ile ma sztuk danej karty.
Kod który stworzyłem pobiera dane z dwóch baz:
CREATE TABLE `karty_kupione` ( `id` int(8) NOT NULL auto_increment, `nick` varchar(100) NOT NULL default '', `id_karty` int(8) NOT NULL default '0', `kolekcja` text NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=8 ;
oraz:
CREATE TABLE `karty` ( `id` int(8) NOT NULL auto_increment, `obrazek` text NOT NULL, `opis` text NOT NULL, `kolekcja` int(8) NOT NULL default '0', ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=9 ;
No i ogólnie wszystko śmiga, ale nie do końca. W moim kodzie działa wszystko jeśli zawartość po kolei wyczytywanych id_karty jest ciągła(1,2,3,4,5,6...) to wszystko chodzi jak po maśle, ale jak zabraknie jakiejś cyfry, np. 3, to kod przesuwa się o jedno i przy wyświetlaniu pokazuje wartości dla 3 karty pod 4 kartą...
$gnick='Edziu'; $sql = "SELECT * FROM karty WHERE kolekcja='$_GET[kolekcja]'"; $result = mysql_query($sql); $cala_kolekcja=mysql_num_rows($result); $i=1; echo("<table class='UNI_01' border='0' align='center'><tr>"); while($r = mysql_fetch_array($result)) { $sql2 = "SELECT * FROM karty_kupione WHERE kolekcja='$_GET[kolekcja]' AND nick='$gnick' AND id_karty='$i'"; $result2 = mysql_query($sql2); $ile=mysql_num_rows($result2); if($ile >= '1'){$karta[$i]="1";} $sum += $karta[$i]; ?><td align='center' style=" word-wrap: break-word;"><body> </body> <? $i++; }