Skocz do zawartości

Wprowadzanie danych do tabeli za pomocą pętli | PHP / MySQL


Recommended Posts

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 przez Gexsi0
Link to post
Share on other sites

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.

Link to post
Share on other sites

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ą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...