Oprettet man. d. 01. oktober 2012 kl. 14:21:14

Smitche
Smitche (900 point. Point ude: 60)

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! :)


?>

Skrevet man. d. 01. oktober 2012 kl. 14:25:44| #1

Smitche
Smitche (900 point)
[i]'$type', '$status'[i] - står selvfølgelig ikke således med [i] i min kode - var meningen at jeg ville fremhæve det med kursiv i indlægget, da jeg tror det er her fejlen ligger, men ved ikke hvad jeg skal skrive her.

Skrevet fre. d. 21. december 2012 kl. 18:52:26| #2


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Hurtig hjælp til "en til mange" relation

Oprettet den 13. juni 2013 kl. 17.58
jcl94 giver 30 point for svar | Giv et svar »

Hente data til variabel

Oprettet den 13. juni 2013 kl. 17.14
vovsegris giver 60 point for svar | Giv et svar »

Mysql til at styre indholdet via menuen med php.

Oprettet den 13. juni 2013 kl. 13.08
bing89 giver 60 point for svar | Giv et svar »







IT Kurser
Samarbejdspartnere

Udgiver · © 2013 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger