Witam,
Od jakiegoś czasu próbuję stworzyć dodawanie relacji między tabelą pierwszą (nazwa: komputery), a tabelą drugą (nazwa: oprogramowanie), i dodaje relację do tabeli 3 (nazwa: rel_komputer_oprogramowanie).
Udało mi się dodawać relacje poprzez podawanie numerów ID, jednak jest to bardzo nieporęczne i chciałbym to zamienić polami typu Select ( dwa pola typu select - pierwsze pole zawiera nazwy rekordów z tabeli pierwszej-nazwy komputerów, a drugi select zawiera nazwy rekordów z tabeli drugiej-oprogramowania), z nazwami rekordów zamiast id co udało mi się osiągnąć. Chciałbym uzyskać efekt,aby po wybraniu z dwóch selectów wartości można było kliknąć buttonik, i aby dodało ładnie do tabeli 3 relację.
Pokażę może działające rozwiązanie z polami na id:
<?php
echo '<form action="doddotabrel.php" method="post"> <h2>Prosze dodac nowe powiązanie:</h2><br />
<b>Proszę podać ID komputera</b><br />
<input type="text" size="5" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="komputer_id"><br />
<b>Proszę podać ID programu:</b><br />
<input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="program_id"><br />
<input type="image" src="graphics/button_dodaj_opro.jpg" alt="Wyslij" value="dodaj">
</form>';
$komputer_id = $_POST['komputer_id'];
$program_id = $_POST['program_id'];
if($komputer_id and $program_id) {
$ins = @mysql_query("INSERT INTO rel_komputer_oprogramowanie SET komputer_id='$komputer_id', program_id='$program_id'" ); if($ins) {
echo "Rekord zostal dodany poprawnie"; }
else echo "Blad nie udalo sie dodac nowego rekordu";
}
?>
Oraz poniżej kod, który póki co nie udało mi się stworzyć:
<?php
<form action="" method="post">
<select name="id" onchange="this.form.submit()">
<option value="">Wybierz komputer:</option>';
$res = mysql_query('select id, nazwa_komputera from komputery'); echo '<option value="'.$row['id'].'"'.($row['id'] == $_GET['id'] ?
' selected="selected"' : '').'>'.$row['nazwa_komputera'].'</option>';
</form><br />';
<form action="" method="post">
<select name="id_programu" onchange="this.form.submit()">
<option value="">Wybierz program do edycji:</option>';
$res = mysql_query('select id_programu, nazwa_programu, system_operacyjny from oprogramowanie ORDER BY nazwa_programu'); echo '<option value="'.$row['id_programu'].'"'.($row['id_programu'] == $_GET['id_programu'] ?
' selected="selected"' : '').'>'.$row['nazwa_programu'].' '.$row['system_operacyjny'].'</option>' ;
<input type="hidden" name="a" value="edit";
</form><br />';
$id = $_POST['id'];
$id_programu = $_POST['id_programu'];
if($id and $id_programu) {
$ins = @mysql_query("INSERT INTO rel_komputer_oprogramowanie SET komputer_id='$id', id_programu='$id_programu'" ); if($ins) {
echo "Udało się dodać rekord"; }
else echo "Blad nie udalo sie dodac nowego rekordu"; }
?>
pozdrawiam i proszę o pomoc
Ten post edytował nighttrain 25.08.2010, 08:25:49