Gexsi0 17 Napisano 7 Lutego 2013 Udostępnij Napisano 7 Lutego 2013 (edytowane) Witam, Mam mega problem i nie mam zielonego pojęcia jak to rozwiązać. Otóż, do tabeli książek chcę wprowadzić każdy tytuł w osobnej pętli, tak, żeby było ileś tam sztuk tej samej książki w bazie. Problem w tym, że po wypełnieniu danymi prawie wszystkie książki mają ten sam numer isbn... a żeby było śmieszniej ja takiego numeru nawet nie wprowadzałem.Mój kod:Wprowadzanie książek do tabeli: for($i=0;$i<8;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Pan Tadeusz', 'Adam Mickiewicz', 'Książka i wiedza', '1254785236', '1984', '0');"); }; for($i=0;$i<15;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Symfonia C++ Standard', 'Jerzy Grębosz', 'EDITION 2000', '5486952147', '2008', '0');"); }; for($i=0;$i<2;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Śmierć wieczności przyszłość ludzkiego umysłu', 'Darryl Reanney', 'PWN', '5874536589', '1993', '0');"); }; for($i=0;$i<5;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Cichy Don', 'Michaił‚ Szołochow', 'Książka i wiedza', '1254785698', '1984', '0');"); }; for($i=0;$i<9;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Pradzieje człowieka', 'Josef Wolf', 'Państwowe wydawnictwo Rolnicze i Leśne', '4785125478', '1982', '0');"); }; for($i=0;$i<20;$i++) { mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Elementarne zagadnienia Ekonomii', 'Roman Milewski', 'PWN', '7856987452', '1993', '0');"); }; for($i=0;$i<7;$i++) { $wynik = mysql_query("INSERT INTO gandalf_ksiazki (`ID`, `Tytul`, `Autor`, `Wydawca`, `ISBN`, `Rok_wydania`, `Wypozyczona`) VALUES (NULL, 'Krzyżacy', 'Henryk Sienkiewicz', 'Państwowy Instytut Wydawniczy', '7852369852', '1979', '0');"); }; Struktura tabeli książek: $wynik2 = mysql_query("CREATE TABLE IF NOT EXISTS `gandalf_ksiazki` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Tytul` text NOT NULL, `Autor` mediumtext NOT NULL, `Wydawca` text NOT NULL, `ISBN` int(13) NOT NULL, `Rok_wydania` int(11) NOT NULL, `Wypozyczona` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;"); Po czymś takim prawie wszystkie książki mają nr ISBN 2147483647, który nigdzie nie jest zdefiniowany...Próbowałem na różnych serwerach i to samo. EDIT: Podpowiedziano mi, że rozwiązaniem będzie zmiana typu danych komórki ISBN Z INT na coś większego.Do zamknięcia. Edytowane 7 Lutego 2013 przez Gexsi0 Cytuj Link to post Share on other sites
szatkus 282 Napisano 7 Lutego 2013 Udostępnij Napisano 7 Lutego 2013 Całkiem przypadkiem 32-bitowa liczba całkowita ze znakiem przyjmuje maksymalną wartość 2147483647. Zmień typ danych dla ISBN, bo int nie nadaje się do trzymania takich wielkich liczb. W sumie nawet nie traktuj tego jako liczby, bo na ISBN na pewno nie będziesz przeprowadzał żadnych działań matematycznych. Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.