sql >> Databasteknik >  >> RDS >> Mysql

Hur man uppdaterar 3 tabellkolumner medan endast en kolumn är synlig för sidan

Uppdatera inte kolumner som inte är inriktade på uppdatering. Om till exempel det traditionella meddelandet valdes skulle du bara uppdatera den här kolumnen. Jag skulle förmodligen använda separata frågor här.

foreach ($_POST['patientid'] as $index => $patientid) {
    $id = mysql_real_escape_string($_POST['id'][$index]);
    $data1 = mysql_real_escape_string($patientid);
    $data2 = mysql_real_escape_string($_POST['traditionalmessage'][$index]);
    $data3 = mysql_real_escape_string($_POST['simplifiedmessage'][$index]);
    $data4 = mysql_real_escape_string($_POST['engmessage'][$index]);

    if ($data2 != null && $data2 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          traditionalmessage='$data2' WHERE id=$id")   or die(mysql_error());
    }
    else if ($data3 != null && $data3 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          simplifiedmessage='$data3' WHERE id=$id")   or die(mysql_error());
    }
    else if ($data4 != null && $data4 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          engmessage='$data4' WHERE id=$id")   or die(mysql_error());
    }
}

Observera att jag tror att du använder ett mycket gammalt och föråldrat PHP API för MySQL. Till att börja med skulle det gynna dig mycket genom att använda förberedda uttalanden.




  1. Oracle-frågesträng inklusive bindestreck

  2. PHP:Vad är det snabbaste sättet att fråga MySQL? Eftersom PDO är smärtsamt långsam

  3. Autentiseringsmetoden 'mysql_old_password' stöds inte

  4. Hur SUBSTRING_INDEX() fungerar i MariaDB