有效的方式来处理多个if语句与相同的连接到PDO mysql


Efficient way to handle multiple if statement with the same connection to PDO mysql

我想问一下处理这些代码的有效方法是什么?我检查的变化的形式,如果有变化,它存储到数据库。有没有办法把if语句转换成if语句?由于

if ($_REQUEST['hidden_value_of_input_box1'] !== $newvalueofinputbox1) {    
    $data = "Input Box 1 has been changed";
    $name = $name;   
    $date = $datenow;    
    $stm = $dbh->prepare("INSERT INTO audit SET name=:name, datenow=:datenow, data=:data");     
    $stm->bindParam(':name', $name);   $stm->bindParam(':value', $value);   
    $stm->execute(); 
}  
if ($_REQUEST['hidden_value_of_input_box2'] !== $newvalueofinputbox2) {    
    $data = "Input Box 2 has been changed";
    $name = $name;   
    $date = $datenow;    
    $stm = $dbh->prepare("INSERT INTO audit SET name=:name, datenow=:datenow, data=:data");     
    $stm->bindParam(':name', $name);   $stm->bindParam(':value', $value);   $stm->execute(); 
}  
if ($_REQUEST['hidden_value_of_dropdown1'] !== $newvalueofdropdown1) {    
    $data = "Drop Down 1 has been changed";    
    $name = $name;   
    $date = $datenow;    
    $stm = $dbh->prepare("INSERT INTO audit SET name=:name, datenow=:datenow, data=:data");     
    $stm->bindParam(':name', $name);   $stm->bindParam(':value', $value);   $stm->execute(); 
}  
if ($_REQUEST['hidden_value_of_dropdown2'] !== $newvalueofdropdown2) {    
    $data = "Drop Down 2 has been changed";   
    $name = $name;   
    $date = $datenow;    
    $stm = $dbh->prepare("INSERT INTO audit SET name=:name, datenow=:datenow, data=:data");     
    $stm->bindParam(':name', $name);   
    $stm->bindParam(':value', $value);   
    $stm->execute(); 
} 

在表单上:

<input name="hidden_value_of_input_box[]" type="hidden" value="anyvalue">
<input name="hidden_value_of_input_box[]" type="hidden" value="anyvalue">
<input name="hidden_value_of_input_box[]" type="hidden" value="anyvalue">

关于提交和处理:

<?php
foreach($_POST["hidden_value_of_input_box"] as $value){
echo $value;
}
?>

之类的。:)

将输入字段作为数组返回,然后循环这些值,然后以这种方式您的代码将更短,更简单和动态。:)