Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> błąd dodawania do bazy
huka
post 8.10.2004, 12:52:18
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Warszawa

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


Witam,

mam problem z napisaniem skryptu dodawania do bazy. Chodzi mi o to że robie taki programik do testów i musze wykonać coć takiego:

- podczas dodawania nowych przedmiotów należy do każdego przedmiotu przypisać odpowiedniego wykładowce, którego wybieramy z listy rozwijalnej na której znajduje sie imię i nazwisko każdego z wykładowców wcześniej dodanych do bazy.

Napisałem już jakiś skrypt ale niestety nie działa tak jak powinien ponieważ zapisuje mi w bazie tylko nazwy przedmiotów a w miejscu gdzie powinno pobierać ID wykładowcy nic nie wstawia.
Dobrze działający skrypt powinien pobrać ID wykładowcy i wstawić go do tabeli przedmiotu obok nazwy przedmiotu.
Np. Id Jana Kowalskiego to 5 więc w tabeli przedmioty powinno wstawić liczbę 5 a w moim skrypcie niestety wstawia 0.

Skrypt wygląda tak:
  1. <?php
  2.  
  3. $db_name = &#092;"praca\";
  4. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  5. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli\");
  6. $sql = &#092;"SELECT ID_prowadzacego, Nazwisko, Imie FROM Prowadzacy ORDER BY Nazwisko \";
  7. $result = mysql_query($sql, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  8. echo &#092;"<select name=ID_prowadzacego>\"; 
  9. while($row = mysql_fetch_array($result)) { 
  10. echo &#092;"<option value=\".$row['ID_prowadzacego'].\">\".$row['Nazwisko'].\"n\"; 
  11. }
  12. if( isset($_POST['Nazwa_przedmiotu'])) {
  13. $sql2 = &#092;"insert into Przedmioty values('null',last_insert_id(),'\".$_POST['Nazwa_przedmiotu'].\"')\";
  14. $result2 = mysql_query($sql2, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  15. }
  16.  
  17. ?>


Nie mam pojęcia dlaczego tak sie dzieje. Jeżeli macie jakieś pomysły to podeślijcie.
Go to the top of the page
+Quote Post
Ive
post 8.10.2004, 17:16:50
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

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


mysql_insert_id() a nie last_insert_id() tongue.gif
[edit]
nie do konca sie wczytywalem w kod ale to chyba powinno byc to co u gory
a jak nie to, to podaj strukture tabeli Przedmioty

Ten post edytował Ive 8.10.2004, 17:21:59
Go to the top of the page
+Quote Post
huka
post 8.10.2004, 18:34:50
Post #3





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Warszawa

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


Struktura tabeli Przedmioty wygląda tak:
  1. CREATE TABLE Przedmioty(
  2. ID_przedmiotu int(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. ID_prowadz int(5) NOT NULL,
  4. Nazwa_przedmiotu varchar(35) NOT NULL,
  5. PRIMARY KEY (ID_przedmiotu),
  6. FOREIGN KEY (ID_prowadz) REFERENCES Prowadzacy(ID_prowadzacego) ON DELETE CASCADE
  7. )
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: 18.06.2025 - 15:16