是的,所以我的数据库中的一个表中有一个数组。我需要拆开这个数组,以便我可以使用它来从我的数据库中的另一个表中获取信息,然后发送包含该信息的电子邮件。
表格中的我的数组看起来像这样
30-1,
30是产品ID,1是数量。 (购买的商品数量)
我是不是一个布偶,弄错了?
//Get product_id_array of item purchased
$sql = mysql_query("SELECT product_id_array FROM transactions WHERE id='$orderID'")or die(mysql_error());
while($row = mysql_fetch_array($sql)){
$prod_quant_array = $row['product_id_array'];
}
//Explode prod_quant_array
(explode("-", $prod_quant_array));
$product_id = $prod_quant_array[0];
$product_quantity = $prod_quant_array[1];
我认为这会给我两个变量。
$product_id
为30,$product_quantity
为1
然后我尝试使用此信息从另一个表中获取更多信息。
$sql = mysql_query("SELECT product_name, product_price FROM products WHERE id='$product_id'")or die(mysql_error());
while($row = mysql_fetch_array($sql)){
$product_name = $row['product_name'];
$product_price = $row['product_price'];
}
如您所见,我的WHERE正在查看$ product_id变量。
因此,当我尝试发送电子邮件时,我收到了电子邮件,但我看不到$product_name
或$product_price
。请忽略其他变量,它们在电子邮件中显示正常,并且来自不同的查询。
/////// Send Email ///////
$to = "" . $payer_email . "";
$subject = "Confirmation of your order";
$message .= "Dear " . $first_name . " " . $last_name . ",
This is an email to confirm your recent purchase of goods with Bloodlust.
You have ordered:
--------------------------------------------------
" . $product_name . ".
" . $product_price . "
--------------------------------------------------
Please keep this email for your records.
Please note that this is not a proof of transaction.
Thank you.";
$from = "no-reply@blood-lust.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
我的爆炸()? 或者是别的什么?
这绝对是在扼杀我的大脑,我已经好几个小时了。请帮忙! :)
答案 0 :(得分:3)
尝试$prod_quant_array = explode("-", $prod_quant_array);
作为旁注,您应该通过添加数量字段来真正规范化数据库,并使当前字段仅保留产品ID。这样,您也可以在同一查询中加入产品价格,而不是发送另一个。
答案 1 :(得分:1)
我认为你误解了爆炸()
你需要将爆炸分配给变量,然后该变量将采用爆炸创建的值数组......
而不是:
(explode("-", $prod_quant_array));
$product_id = $prod_quant_array[0];
$product_quantity = $prod_quant_array[1];
执行:
$theArray = (explode("-", $prod_quant_array));
$product_id = $theArray[0];
$product_quantity = $theArray[1];
答案 2 :(得分:1)
您有错误。改变行
(explode("-", $prod_quant_array));
$product_id = $prod_quant_array[0];
$product_quantity = $prod_quant_array[1];
要
$prod_quant_array = explode("-", $prod_quant_array);
$product_id = $prod_quant_array[0];
$product_quantity = $prod_quant_array[1];