2012-06-18 111 views
-1

我试图让customerid从customer表到ordertracking表。 但是 - 订单的添加也需要它从订单表单获得的产品信息。我尝试了几种方法,但无法实现。 也是另一个奇怪的事情:从一个表到另一个表和订单添加PHP MYSQL

//connect to database 
$connection = mysql_connect("localhost","root","") or die ("Can't connect"); 
mysql_select_db("shoppingcart", $connection) or die ("Can't connect"); 

//check if already customer 
$result = mysql_query("SELECT * FROM customer WHERE email='$email'"); 
$rows = mysql_num_rows($result); 

    if ($rows) 
    { 
     echo '<br>Welcome back ' . $name .' '. $surname. '<br>'; 
    } 
    else 
    { 
     //if new customer, add to database 
     $customer = "INSERT INTO customer (customerid, name, surname, email, city, GETalcode, phonenumber) VALUES ('', '$name', '$surname', '$email', '$city', '$postalcode', '$phonenumber')"; 
     if (!mysql_query($customer,$connection)) 
     { 
      die('Error: ' . mysql_error()); 
      echo "Sorry, there was an error"; 
     } 
     echo "New customer added" . "<br />"; 
     echo '<br>Welcome as our new customer ' . $name . ' '. $surname; 

     mysql_close($connection); 
    } 

//connect to database 
$connection = mysql_connect("localhost","root","") or die ("Can't connect"); 
mysql_select_db("shoppingcart", $connection) or die ("Can't connect"); 

//get customer id 
???????????????????? 
    //add new order 
    $ordertracking = "INSERT INTO ordertracking (orderid, customerid, productid, brand, model, price, amount, totalcost) VALUES ('', '$customerid', '$productid', '$brand', 'model', 'price', 'amount', 'totalcost')"; 
    if (!mysql_query($ordertracking,$connection)) 
     { 
      die('Error: ' . mysql_error()); 
      echo "Sorry, there was an error"; 
     } 
     echo "New order added" . "<br />"; 

     mysql_close($connection); 

回答

1
$res = mysql_query("SELECT customerid FROM customer WHERE email='$email'"); 
while($row=mysql_fetch_array($res)) 
{ 
$customerid=$row['customerid']; 
} 

使用这种$客户ID插入到订货信息表时

+0

aaaaaaand .......它的作品!非常感谢你的脚本。我现在得到customerid在ordertracking。谢谢 – MOTIVECODEX

1

就像你在第一时间得到客户数据:

$customerid = mysql_fetch_row(mysql_query("SELECT customerid FROM customer WHERE email='$email'")); 
echo $customerid[0]; 
+0

我试过了,但是当我回声出来它显示'资源ID# 5'。但在客户表中,customerid是2而不是5. '$ customerid = mysql_query(“SELECT customerid FROM customer WHERE email ='$ email'”); echo $ customerid;' 然后在ordertracking表中它仍然显示'0'。为什么? – MOTIVECODEX

+0

当然,您仍然需要获取结果,查看更新后的答案。 – Paul

1

使用mysql_insert_id()后选择插入或$rows['customerid']之后。

+0

这给了我'0'。但无论如何谢谢 – MOTIVECODEX

+0

对不起,你认为你做了一个$ rows = mysql_fetch_assoc($结果); –

1
$customer = "INSERT INTO customer (customerid, name, surname, email, city, 
      GETalcode, phonenumber) VALUES 
      ('', '$name', '$surname', '$email', '$city', 
      '$postalcode', '$phonenumber')"; 
     if (!mysql_query($customer,$connection)) 
     { 
      die('Error: ' . mysql_error()); 
      echo "Sorry, there was an error"; 
     } 
     else 
     { 
      $customer_id =mysql_insert_id(); 
     } 

//然后插入顺序表

+0

谢谢你的脚本,但pardhu的脚本正在工作。无论如何,谢谢 – MOTIVECODEX

相关问题