gpt4 book ai didi

php - foreach 更新查询从数组中设置相同的最后一个值

转载 作者:行者123 更新时间:2023-11-29 05:29:04 25 4
gpt4 key购买 nike

我有一个完成多个插入的 foreach 循环。

if ($action == '2'){
foreach(array_combine($test_results, $reference_intervals) as $test_result => $reference_interval){
$query = "INSERT INTO model_lab_test_results (model_lab_test_results_pk, case_fk, level, lab_test_fk, result, reference_interval, created, created_by) VALUES ('', '$case_pk', '$level', '$lab_test_pk', '$test_result', '$reference_interval', NOW(), '$author_pk')";
$result = mysql_query($query, $connection) or die(mysql_error());
$inserted_ids[] = mysql_insert_id();
}

然后我运行另一个 foreach 循环来更新每条插入的记录。

if($result){
foreach($lab_tests_pk as $lab_test_pk){
$query_update_results = "UPDATE model_lab_test_results SET lab_test_fk = '$lab_test_pk' WHERE model_lab_test_results_pk IN (" . implode(",", $inserted_ids) . ")";
$result_update_results = mysql_query($query_update_results, $connection) or die(mysql_error());
}

问题是数组 $inserted_ids 中的四个插入记录中的每一个:

Array ( [0] => 153 [1] => 154 [2] => 155 [3] => 156 )

用数组 $lab_tests_pk 中最后一个相同的值更新,即 1776:

Array ( [0] => 2249 [1] => 1349 [2] => 1126 [3] => 1776 ) 

我怎样才能让每个插入的记录更新为来自 $lab_tests_pk 的单独值?

我知道我应该使用 PDO...谢谢...

最佳答案

您可能还需要为 $inserted_ids 使用key。在您的情况下,您只需用每个值覆盖所有记录。全部更新到每个。所以你只能看到最后一个。试试这个:

foreach($lab_tests_pk as $key => $lab_test_pk){
$query_update_results = "UPDATE model_lab_test_results SET lab_test_fk = '{$lab_test_pk}' WHERE model_lab_test_results_pk = {$inserted_ids[$key]}";
$result_update_results = mysql_query($query_update_results, $connection) or die(mysql_error());
}

关于php - foreach 更新查询从数组中设置相同的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com