2012-06-18 116 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

相關問題