2012-04-24 53 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); 
相关问题