Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] problem z insert
yasiu_kam
post 16.05.2007, 17:40:14
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.02.2007

Ostrzeżenie: (0%)
-----


Tak wyglada tabela autorzy:
  1. CREATE TABLE `autorzy` (
  2. `autorID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `autor` varchar(60) NOT NULL DEFAULT '0',
  4. PRIMARY KEY (`autorID`)
  5. ) TYPE=MyISAM AUTO_INCREMENT=117 ;

Tak wyglada tabela ksiazki
  1. CREATE TABLE `ksiazki` (
  2. `ksiazkiID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `tytul` varchar(60) NOT NULL DEFAULT '',
  4. `wydawnictwoID` int(10) UNSIGNED NOT NULL DEFAULT '0',
  5. `autorID` int(10) UNSIGNED NOT NULL DEFAULT '0',
  6. `gatunekID` int(10) UNSIGNED NOT NULL DEFAULT '0',
  7. `wypozyczonaprzez` int(5) NOT NULL DEFAULT '0',
  8. `data_wypozyczenia` date NOT NULL DEFAULT '0000-00-00',
  9. `czytelnikID` int(10) UNSIGNED NOT NULL DEFAULT '0',
  10. PRIMARY KEY (`ksiazkiID`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=120 ;

Chodzi o to ze jak mam INSERT który dodaje autorów książek to autorID dodaje się automatycznie bo jest inkrementowany, gdy dodaje tytuły do tabeli książki to chce żeby autorID tez się dodawało a jak narazie mam 0, najlepiej jeśli autorID pobierałoby się z tabeli autorzy i od razu dopisywał do tabeli książki.

to jest skrypt do wstawiania ksiazki:
  1. <html>
  2. <head>
  3. <title>Biblioteka "Bib"</title>
  4. </head>
  5. <body background="tlo1.jpg">
  6. <h1><p><font color=blue><MARQUEE behavior=alternate SCROLLAMOUNT=10>Biblioteka "Bib"</MARQUEE></font></p></h1> 
  7. <?php
  8. mysql_connect("localhost", "root", "krasnal")
  9.  or die (mysql_error());
  10.  
  11.  
  12. if (!$tytul || !$autor || !$gatunekID)
  13. {
  14.  echo "Nie podano wszystkich potrzebnych danych.<br>"
  15. ."Wróć do poprzedniej strony i spróbuj ponownie.";
  16.  exit;
  17. }
  18. $tytul = addslashes($tytul);
  19. $autor = addslashes($autor);
  20. $gatunekID = addslashes($gatunekID);
  21.  
  22. $sql = "INSERT INTO `autorzy` (`autorID`, `autor`) VALUES ('', '$autor')";
  23. $result = mysql_query($sql) or die(mysql_error());
  24. echo '<h3>Poprawnie dodano autora książki</h3>';
  25.  
  26.  
  27. $sql = "INSERT INTO `ksiazki` (`ksiazkiID`, `tytul`, `wydawnictwoID`, `autorID`, `gatunekID`, `data_wypozy
    czenia`, `czytelnikID`)  VALUES ('', '$tytul', '', '', '$gatunekID', '0000-00-00', '0');"
    ;
  28. $result = mysql_query($sql) or die(mysql_error());
  29.  
  30. echo '</br><h3>Poprawnie dodano książkę</h3>';
  31. ?>
  32. </body>
  33. </html>

prosze o pomoc bo walcze z tym pare godzin i nie mam pomyslu jak to zrobic sad.gif

Ten post edytował yasiu_kam 16.05.2007, 17:52:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Hekko
post 16.05.2007, 19:02:58
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

Ostrzeżenie: (10%)
X----


A co jeśli autor który się właśnie dodaje już jest w bazie ? Musisz najpierw przeszukać bazę pod tym kątem, jeśli istnieje pobierz jego id i w drugim zapytaniu użyj, jeśli nie istnieje, to wstaw tego autora i pobierz jego id.


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
yasiu_kam
post 16.05.2007, 21:21:19
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.02.2007

Ostrzeżenie: (0%)
-----


No wlasnie i to jest moj kolejny problem smile.gif Wstawianie nowych ksiazek juz mam i nawet dodaje autorID przy tabeli ksiazki, kolejny problem polega na tym ze jak recznie usuwam ksiazki z bazy to ID sie nie aktualizuje i dodaje mi +1 do tego ktore bylo ostatnio...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 07:25