将数据从php页面保存到2 sql表中

时间:2014-07-23 05:57:11

标签: php mysql sql

美好的一天!我真的需要你的帮助。有人可以教我将数据保存到2个表中需要什么语句。我有2个表,即sales和sales_item。这种关系打赌。它们是销售表中的srfno,它是PK,因此在sales_item表中它是FK。我的php表单有srfno,date,clientid,clientname,address,contactperson,contactno,returnreason,explanation,refno;这些数据应该保存在我已经做过的销售表中,并且它的工作非常出色。我现在的问题是qty,serial,desc也包含在表单中,但这些应该保存在sales_item表中。当我执行页面时,它将数据保存在sales表中,而qty,serial和desc无法保存到sales_item表,并且它没有从sales表中获取srfno。

这是我将qty,serial和desc保存到sales_item表的代码,保存时我的sql语句会忽略它。

$retitem= "Select `srfno` from sales_item"; 
        $psql= mysql_query($retitem,$con);  
        $reti = mysql_num_rows($psql);
        $reti = $reti + 1;
            while($return = mysql_fetch_assoc($psql))
            {
                if(isset($return['srfno']))
                {
                    $srfno=$return['srfno'];
                }

            }
        $addretex="Insert into `sales_item` (`sitemid`,`srfno`, `retqty`, `retdesc`,`retserial`, `exqty`, `exdesc`,`exserial`,)
                     VALUES (' ','$srfno', '$qty', '$desc', '$serialno', ' ', ' ', ' ')";
        $ret=mysql_query($addretex);

2 个答案:

答案 0 :(得分:0)

您可以轻松地使用LAST_INSERT_ID将最后3个值插入到具有相关销售ID的表sales_item中。

  INSERT INTO sales (srfno,date,clientid,clientname,address,contactperson,contactno, returnreason,explanation,refno)
  VALUES('value1', 'value2','','',...);
  INSERT INTO sales_item (sales_id,qty,serial,desc) //sales_id is foreign key came from sales table and its value will be insert automatically by using LAST_INSERT_ID.
  VALUES(LAST_INSERT_ID(),'value_1', 'value_2','value_3');

答案 1 :(得分:0)

在插入'sales_item'之前,您需要使用

检查$ srfno是否具有有效值

echo“srfno =”。$ srfno;退出;

如果没有,您可以在插入sales表后轻松获取$ srfno的值,只需在插入sales表后执行以下操作

$ srfno = mysql_insert_id();

您还可以通过mysql_error函数

检查sales_item的insert查询错误

mysql_query($ addretex)或die(“$ addretex”.mysql_error());