HJÆLP! Dropdown liste med valgmuligheder fra en tabel, der skal gemmes i ny tabel.
Jeg er i gang med at lave et skoleprojekt. Her skal jeg lave en bogdatabase.Jeg har følgende tabeller: book_tbl, author_tbl, author_book_tbl, status_tbl, type_tbl, category_tbl
Her vil jeg gerne kunne oprette en bog hvor jeg vælger værdier fra en anden tabel via en dropdown liste som fx hvilken type bog det er og dette skal så gemmes i book_tbl hvor der er en tilhørende foreign key til type_tbl. Samtidig skal jeg kunne vælge en forfatter til bogen via en dropdownliste igen, og automatisk skal der oprettes et book_id og author_id i author_book_tbl.
Her er min kode med forms.
<!--Oprettelse af bog-->
<h3>Opret bog</h3>
<form action="insert.php" method="post">
<input type="text" name="isbn" id="isbn" class="form_text" placeholder="ISBN" required/> <br> <br>
<input type="text" name="title" id="title" class="form_text" placeholder="Title" required/> <br> <br>
<input type="text" name="year" id="year" class="form_text" placeholder="Year" required/> <br> <br>
<input type="text" name="price" id="price" class="form_text" placeholder="Price" required/> <br> <br>
<input type="text" name="description" id="description" class="form_text" placeholder="Description" required/> <br> <br>
<?php
mysql_connect('localhost', 'Test', 'Test');
mysql_select_db('bookstore');
$sql = "SELECT status FROM status_tbl";
$result1 = mysql_query($sql);
echo "<select name='status_id'>";
while ($row = mysql_fetch_array($result1)) {
echo "<option value='" . $row['status_id'] ."'>" . $row['status_id'] ."</option>";
}
echo "</select>";
?><br>
<?php
mysql_connect('localhost', 'Test', 'Test');
mysql_select_db('bookstore');
$sql = "SELECT type FROM type_tbl";
$result2 = mysql_query($sql);
echo "<select name='type_id'>";
while ($row = mysql_fetch_array($result2)) {
echo "<option value='" . $row['type_id'] ."'>" . $row['type_id'] ."</option>";
}
echo "</select>";
?><br>
<input type="text" name="category" id="category" class="form_text" placeholder="Category"required/> <br> <br>
<?php
mysql_connect('localhost', 'Test', 'Test');
mysql_select_db('bookstore');
$sql = "SELECT first_name, last_name FROM author_tbl";
$result3 = mysql_query($sql);
echo "<select name='author'>";
while ($row = mysql_fetch_array($result3)) {
echo "<option value='" . $row['first_name'] . $row['last_name'] ."'>" . $row['first_name'] . ' '. $row['last_name'] ."</option>";
}
echo "</select>";
?><br>
<input type="submit" value="Opret bog"/>
</form>
Her er min insert.php
<?php
require_once('connect.inc.php');
$conn = dbConnect('pdo') or die('no connection');
//Bog
$isbn= $_POST['isbn'];
$title= $_POST['title'];
$year= $_POST['year'];
$price= $_POST['price'];
$description= $_POST['description'];
$type= $_POST['type'];
$status= $_POST['status'];
//Forfatter
$first_name= $_POST['first_name'];
$last_name= $_POST['last_name'];
$author= $_POST['author'];
//Kategori
$category=$_POST['category'];
echo '<a href="index.php"><h3>Tilbage</h3></a>';
if (isset($_POST['isbn'])){
$sqlquery ="INSERT INTO category_tbl(category)
VALUES ('$category')";
$result = $conn->query($sqlquery) or die('Noget gik galt med category');
$sqlquery2 ="INSERT INTO book_tbl(isbn, title, year, price, description, type_id, status_id, category_id)
VALUES ('$isbn', '$title', '$year', '$price', '$description', '$type', '$status', LAST_INSERT_ID())";
$result = $conn->query($sqlquery2) or die('Noget gik galt med book');
echo "Bog er oprettet";
}else{
echo "Fejl";
}
Når jeg gør brug af disse dropdown lister kan jeg ikke få oprette en bog. Så det er her:
"$sqlquery2 ="INSERT INTO book_tbl(isbn, title, year, price, description, type_id, status_id, category_id)
VALUES ('$isbn', '$title', '$year', '$price', '$description', [i]'$type', '$status'[i], LAST_INSERT_ID())";
$result = $conn->query($sqlquery2) or die('Noget gik galt med book');" - med kursiv at jeg gør noget forkert?
Derudover ved jeg ikke hvordan jeg automatisk få sat author_book_tbl så jeg får tilknyttet en forfatter.
Tak på forhånd! :)
?>