在更新时保留数据库中的值

时间:2015-08-11 08:12:19

标签: php mysql

这是我数据库中的表格。它应该只包含一行。 enter image description here

我有这个代码,检查是否没有数据,如果没有..数据被插入,否则它被更新。问题是,如果我只更新Brevet,Baccalaureabt的价值将从我的数据库中消失。有什么帮助吗?

代码:

if(isset($_POST['submit']))
    {   $brevet = $_POST['Brevet'];
        $baccalaureatbt = $_POST['Baccalaureatbt'];


     $sql1="SELECT Brevet,Baccalaureatbt FROM university";
if ($result=mysqli_query($con,$sql1))
  {

  $rowcount=mysqli_num_rows($result);
  }
    if($rowcount==0)
     {
 $sql="INSERT INTO university(Brevet,Baccalaureatbt) VALUES('$brevet','$baccalaureatbt')";
 $result = mysql_query($sql);
     }
     else
     {
 $sql2 = "UPDATE university SET Brevet = '$brevet' , Baccalaureatbt = '$baccalaureatbt'";
 $result2 = mysql_query($sql2);
     }

2 个答案:

答案 0 :(得分:0)

要动态更新值,请使用以下代码。只需在values数组中添加所需的值即可。

var data_sorted = data.filter(function(value, index){
    return value.parentCid != "";
}).sort(function(value1, value2){
    return parseFloat(value1.number) - parseFloat(value2.number);
});

答案 1 :(得分:0)

问题是您要设置这两个值,但如果$baccalaureatbt$brevet为空,则会使用空值更新,即原始值将被删除。

有多种方法可以避免这种情况,但有一种方法可以做到这一点:

$sql2 = "UPDATE university SET ";

if(!empty($brevet)){
    $sql2 .= "Brevet = '$brevet'";
    $first = 1;
}
if(!empty($baccalaureatbt)){    
    $sql2 .= isset($first) ? ", Baccalaureatbt = '$baccalaureatbt'" : "Baccalaureatbt = '$baccalaureatbt' " ;
}

$result2 = mysql_query($sql2);