2012-04-24 58 views
0

我有一個表單,我將數據發佈到MySQL。查詢應該將表單中的數據插入到table1中,還包括來自另一個表2的數據,其中從表單發送的ID等於表2中的ID?插入另一個表中的數據,也從MYSQL和PHP中的表單插入數據

我使用舊的MySQL連接,我知道,不是最好的:-)和PHP!

希望有人能幫助,謝謝:-) 馬丁

想,也許我應該給一些更多的信息:-)

table1的被稱爲:書籍

從形式,我有以下值:itemCode,itemQty,OWNERID 我有2個靜態值:狀態,類型

從表2中的值必須被插入到表1中: 標題,DESCRIPTIO n,pricecover,frontcover

from table2 field isbn應該等於itemCode的形式。

這裏是我到目前爲止已經試過:

$bookid=$_POST['itemCode']; 
$itemQty=$_POST['itemQty']; 
$status='2'; 
$ownerID = $user->id; 

$query="INSERT INTO books (name, description, price, picture, status, ownerID, itemqty, type, studie, isbn) SELECT (title, description, price, frontcover FROM isbnbooks WHERE isbn=$itemCode), $status, $ownerID, $itemQty, '1', '1', $bookid)"; 

更新: 我也試過這一個位置:

$bookid=$_POST['itemCode']; 
     $itemQty=$_POST['itemQty']; 
     $status='2'; 
     $ownerID = $user->id; 

     $data2 = mysql_fetch_array (mysql_query("SELECT * FROM isbnbooks WHERE isbn = $bookid")); 
     $title = $data2[title]; 
     $description = $data2[description]; 
     $price = $data2[price]; 
     $picture = $data2[frontcover]; 

     $query="INSERT INTO books (name, description, price, picture, status, ownerID, itemqty, type, studie, isbn) 
     VALUES ($title, $description, $price, $picture, $status, $ownerID, $itemQty, '1', '1', $bookid)"; 
     mysql_query($query) or die("Opps some thing went wrong"); 
+1

想想也許我應該給一些更多的信息:-) – Jespersgaard 2012-04-24 19:01:49

+0

我修改後的答案考慮到你提供的代碼。 – eggyal 2012-04-27 07:08:30

回答

0

如果您有價值觀'a''b'進入列f1table1f2;在f3你想要的table2.field的值,其中table2.id是123,你可以準備和執行這些方針SQL語句:

INSERT INTO table1 (f1, f2, f3) 
    SELECT 'a', 'b', field FROM table2 WHERE id = 123; 

而且看到你的更新問題的代碼,問題你的第一次嘗試是你試圖混合INSERT ... SELECTINSERT ... VALUES;可悲的是,它們是相互排斥的。但是,你可以代替寫:(!雖然你真的應該使用準備好的語句,見上文)

INSERT INTO books (
    name, 
    description, 
    price, 
    picture, 
    status, 
    ownerID, 
    itemqty, 
    type, 
    studie, 
    isbn 
) 
    SELECT 
    title, 
    description, 
    price, 
    frontcover, 
    :status, -- use prepared statements to prevent SQL injection 
    :ownerID, -- see http://bobby-tables.com/ for more info 
    :itemQty, 
    '1',  -- do you really want a string containing a number? 
    '1', 
    :bookid 
    FROM isbnbooks 
    WHERE isbn=:itemCode; 

你的第二次嘗試看起來好像應該工作;你有什麼問題?

0
在沒有代碼

,這裏的工作流程ID建議:

表單已提交 - >檢查和清理值 - >對「表2」執行查詢查詢並獲取您的相關值 - >使用form和「t」提交更新查詢able2「數據 - >成功更新後,通知用戶他們的信息已經處理 - >感謝他們。

0

是這樣的? :

$data2 = mysql_fetch_array (mysql_query("SELECT * FROM table2 WHERE id2 = '1'")); 

$data1 = data2['column2']; 

mysql_query("INSERT INTO table1 VALUES('value1','$data2') WHERE id1 = id2); 
相關問題