Php 如何在不删除以前的数据的情况下更新db的单个列?
我正在使用逗号更新一列中的多个值。他们工作得很好。但如果从其他用户处更新同一列,则先前用户插入的值将被删除。我希望在插入新用户值时也保留以前用户的值。我也不想重复相同的值,因为我使用的值是唯一的IDPhp 如何在不删除以前的数据的情况下更新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
// 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());