【发布时间】:2013-09-22 01:30:00
【问题描述】:
我正在尝试编写一个脚本来做两件事:
1) 遍历一个两列表,然后将内容推送到一个两列数组中
2) 遍历那个两列数组(在 #1 中制作)并将其重新插入到两列 MySQL 表中。
这是我对第 1 件事的尝试:
//grab desired product options incase of 'undo'
$optionArray = array();
$fabricArray = array();
$optionSelect = "SELECT * FROM $clientOptions WHERE bag_id ='$bagID' ";
$optionResult = mysql_query($optionSelect, $db_bags);
while ($optionData = mysql_fetch_assoc($optionResult)){
$optionSku = $optionData['option_sku'];
$fabricSku = $optionData['fabric_sku'];
array_push($optionArray, $optionSku);
array_push($fabricArray, $fabricSku);
array_push($optionArray, $fabricArray);
}
$_SESSION['options_array'] = $optionArray;
这是我对 #2 的尝试:
foreach ($_SESSION['options_array'] as $optionSku){
foreach ($optionSku as $fabricSku){
$insertOption = "INSERT INTO $clientOptions (bag_id, product_sku, option_sku, fabric_sku) VALUES ('$bagID', '$productSku', '$optionSku', '$fabricSku')";
mysql_query($insertOption, $db_bags);
}//end of fabric sku for loop
}//end of option sku for loop
- 注意:是的,我必须这样做……不,我不能将它从一个 MySQL 表转移到下一个。是的,我必须使用会话。
一般用途:是对所有用户撤消一个删除功能。用户可以删除产品及其选项,然后通知“撤消”删除。刚刚删除的产品存储在会话中,选项(和结构)存储在会话数组中。
【问题讨论】:
-
为什么不在数据库中放置一个标志来将字段标记为非活动状态,然后允许用户重新激活他们的记录?
-
只是试图保持数据库轻量级。不希望存储用户添加和删除的每个产品
标签: php mysql arrays session foreach