Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不删除以前的数据的情况下更新db的单个列?_Php_Mysql_Database - Fatal编程技术网

Php 如何在不删除以前的数据的情况下更新db的单个列?

Php 如何在不删除以前的数据的情况下更新db的单个列?,php,mysql,database,Php,Mysql,Database,我正在使用逗号更新一列中的多个值。他们工作得很好。但如果从其他用户处更新同一列,则先前用户插入的值将被删除。我希望在插入新用户值时也保留以前用户的值。我也不想重复相同的值,因为我使用的值是唯一的ID // update student list $venue = ($_GET['venue']); $district = ($_GET['dis']); if(isset($_POST['submit'])) //print_r ($_POST); { @$std

我正在使用逗号更新一列中的多个值。他们工作得很好。但如果从其他用户处更新同一列,则先前用户插入的值将被删除。我希望在插入新用户值时也保留以前用户的值。我也不想重复相同的值,因为我使用的值是唯一的ID

            // update student list


$venue = ($_GET['venue']);
$district = ($_GET['dis']);
if(isset($_POST['submit']))
//print_r ($_POST);
 {
  @$std_list=implode(',',$_POST['std_list']);


    if(empty($std_list))
    {
        $error = 1;
        $get_value = "Please select you event students.";
    }

    else
    {

    //$query = mysql_query("INSERT INTO events (std_list) 
//VALUES('".$std_list."')") or die(mysql_error());
    $query = mysql_query("UPDATE events SET std_list='".$std_list."' WHERE 
id='".$district."' ") or die(mysql_error());
    //echo "$msg";
    echo "Students list submitted successfully";
    }   
}
如果您有任何疑问,可以再次询问。我插入的值仅为整数。两个不同的用户不能使用相同的整数

试试这个

$query = mysql_query("UPDATE events SET std_list = CONCAT( std_list, '".$std_list."') WHERE 
id='".$district."' ") or die(mysql_error());

不要使用csv字段,使用
事件\u学生
表格不明白吗????请详细说明删除事件表中的
std_列表
列。创建一个名为
events\u students
的新表。当您想向事件中添加新学员时,可以向该表中添加一条记录。它的标准数据库规范化和它的存在是为了解决这样的问题。这也意味着你可以执行查询,比如查找某个学生正在参加的所有活动。谢谢这项工作,但它也插入了重复值,它已经在该列中了。重复值是什么意思?嗯。上面的语句将始终获取值,附加值,并用新值更新列。如果要在更新列之前检查重复值,需要选择列并使用php进行比较。我正在比较这个-->如果($ctegoryy['id']=$user['std_list'])$query=mysql_query(“更新事件集std_list=CONCAT(std_list),“$user['std_list']”,其中id=“$district.”)或die(mysql_error());