Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

केवल एक MySQL क्वेरी के साथ दो foreach कथन?

आपके मामले पर लागू, यहां अनुकूलित किया गया है डैनी का उत्तर :

<?php

//first query:
$arrk = array_keys($_POST['overtimehours']);
$arrv = array_values($_POST['overtimehours']);
$id_list = implode(',', $arrk);

$whens = implode(
    "\n    ",
    array_map(
        function ($id, $value) {
            return "WHEN {$id} THEN {$value}";
        },
        $arrk,
        $arrv
    )
);

$sql1 = "
    UPDATE $TABLE
    SET ot_hours = CASE trans_num
    {$whens}
    END,
    ot_status=1, 
    ot_submitdate='$ot_submitdate'
    WHERE id IN ({$id_list})
    AND uid='$contextUser' 
    AND (ot_status=0 OR ot_status=1 OR ot_status=3) 
";

//second query:
$arrk = array_keys($_POST['lieutimehours']);
$arrv = array_values($_POST['lieutimehours']);

$id_list = implode(',', $arrk);

$whens = implode(
    "\n    ",
    array_map(
        function ($id, $value) {
            return "WHEN {$id} THEN {$value}";
        },
        $arrk,
        $arrv
    )
);

$sql2 = "
    UPDATE $TABLE
    SET lieu_hours = CASE trans_num
    {$whens}
    END,
    ot_status=1, 
    ot_submitdate='$ot_submitdate'
    WHERE id IN ({$id_list})
    AND uid='$contextUser' 
    AND (ot_status=0 OR ot_status=1 OR ot_status=3) 
";

//now use pdo to run sql1 and sql2

?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और MySQL का उपयोग करके 'क्विज़' वेब एप्लिकेशन विकसित करने के लिए डेटाबेस डिज़ाइन

  2. देशांतर और अक्षांश से दूरी के भीतर POI खोजने के लिए WHERE क्लॉज का उपयोग करना

  3. नई MySQL स्थापना पर पिछले MySQL डेटा फ़ोल्डर का उपयोग करना

  4. दिया गया तर्क मान्य MySQL परिणाम संसाधन नहीं है

  5. क्या mysql कमांड-लाइन उपयोगिता का उपयोग करके mysql में सभी आरक्षित शब्दों को सूचीबद्ध करने का कोई तरीका है?