Witam, mam do napisania stronkę (spis książek) w PHP na bazie danych MySQL, dopiero co zaczynam swoją przygodę z PHP i mam pewien problem.
W swojej bazie danych mam tabele
ksiazka, która ma pola IDKsiazka(PrimaryKey), Tytul, RokWydania, Sciezka, IDWydawnictwo(ForeignKey). Mam także tabelę a
utor, która ma pola IDAutor(PrimaryKey), Imie, Nazwisko. Oprócz tego mam tabelę
ksiazka_autor, która ma pola IDKsiazka(PrimaryKey, ForeignKey) oraz IDAutor(PrimaryKey, ForeignKey). Stworzyłem także formularze, dzięki którym można dodać dane do tabeli Książka, Autor i KsiazkAutor. Problem jest z dodaniem danych do tabeli KsiazkaAutor. W skrypcie napisałem, aby wyświetlał mi treść polecenia SQL i wyświetla coś takiego
INSERT INTO ksiazka_autor (IDKsiazka,IDAutor) VALUES('', ''). Po podejrzeniu tabeli ksiazka_autor niema w niej żadnych rekordów.
W formularzu mam 2 comboboxy przechowujące odpowiednio dane z tabeli autor i ksiazka. I chcę zrobić, że po wybraniu odpowiednich wartości i naciśnięciu przycisku wartości te zostały zapisane w tabeli ksiazka_autor.
Formularz umożliwiający dodanie rekordu do tabeli KsiazkaAutor
<?php //require_once("dbconnect.php");?> <!--polaczenie z baza danych-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> <meta http-equiv="Creation-date" content="2009-09-14T16:45:34Z"> <meta http-equiv="Content-Language" content="pl"> <meta name="Author" content="Kedzior"> <link href="css/css.css" rel="stylesheet" type="text/css" />
<!-- To jest miejsce na treść dokumentu -->
<form action="php/commit.php?action=add&type=ksiazka_autor" method="post"> <table border="1" align="center"> <!-- opis tabeli-->
<td class="table_tytul" colspan="2">Dodawanie nowej książki i autora
</td>
<!-- -->
<td class="table_opis">Książka:
</td> <td class="table_opis"><select name="Tytul"><option value="" selected>Wybierz tytuł książki...
</option> <?php
$ksiazka = "SELECT * FROM ksiazka"; //wybranie potrzebnych rekordow z bazy
$resultKsiazka = mysql_query($ksiazka) or die("Niepoprawne zapytanie". mysql_error());
while($row = mysql_fetch_array($resultKsiazka))
{
echo'<option value="'.$row['IDKsiazka'].'">'.$row['Tytul'].'
</option>';
}
?>
<!-- -->
<td class="table_opis">Autor:
</td> <?php
$autor = "SELECT * FROM autor"; //wybranie potrzebnych rekordow z bazy
$resultAutor = mysql_query($autor) or die("Niepoprawne zapytanie". mysql_error());
while($row = mysql_fetch_array($resultAutor))
{
echo'<option value="'.$row['IDAutor'].'">'.$row['Imie'].' '.$row['Nazwisko'].'
</option>';
}
?>
<!--belka dolna-->
<td class="belka" colspan="2"></td>
<!--przyciski-->
<td colspan="2" align="center" bgcolor="#FFFFFF"><input type="submit" name="SUBMIT" value="Wyślij"><input type="reset" name="RESET" value="Resetuj"></td>
Skrypt dodający nowy rekord do tabeli ksiazka_autor
function AddNewKsiazkaAutor($IDKsiazka,$IDAutor)
{
$AddNewKsiazkaAutor = "INSERT INTO ksiazka_autor (IDKsiazka,IDAutor)
VALUES('".$IDKsiazka."',
'".$IDAutor."')";
echo"$AddNewKsiazkaAutor"; }
Proszę o pomoc.