在foreach循环中使用mysql更新字符串的最佳方法

时间:2012-12-26 14:42:50

标签: php mysql foreach

我必须在提交表单时更新两个不同的表格。

第一个是包含每个发布日期的所有酒店信息的字符串

$index = 0;
$insert ="";

foreach($_POST['day'] as $index => $day) {

    $day = $day; 
    $name = $_POST['name'][$index];
    $sgl = $_POST['sgl'][$index];
    $dbl = $_POST['dbl'][$index];
    $nights = $_POST['nights'][$index];
    $status = $_POST['status'][$index];
    $ref = $_POST['ref'][$index];
    $breakfast = $_POST['breakfast'][$index];
    $meal = $_POST['meal'][$index];

    $insert .= "$day|$name|$sgl|$dbl|$nights|$status|$ref|$breakfast|$meal;";       

}

$data['details_accommodation'] = $insert;       

此代码可以更新第一个表。

然后我需要隔离每个$ day(mysql日期)并使用相同的字符串更新第二年表,其中$ day与相应的日期匹配。而且我被卡住了。希望我对mu问题足够清楚!

2 个答案:

答案 0 :(得分:0)

尝试在两个表中插入UNIX时间戳,而不是插入DAY。希望这可以解决您的问题

答案 1 :(得分:-1)

我更愿意使用数组,并使用implode函数来连接值,而不是字符串连接。它为这些值提供了更大的灵活性,并且没有使用最终循环设置的尾随连接值。

我的建议:将您的数据收集到由“$ index”索引的多个数组中,例如:     $ refs [$ index] = $ value

然后使用implode函数来执行连接值:     $ string = implode(',',$ refs);

这将简化数据数组,供您操作和保存。希望这有帮助!