Когда пользователь выбрал себе тв каналы для избранного, нужно чтобы скрипт прописал в табличку так: 1,2,3,4,5
Если там уже было например: 1,3 то что бы дописал: ,2,4,5 и получилось бы: 1,3,2,4,5
Когда пользователь удалил ненужные ему тв каналы, например: 1,5 то в базе осталось бы: 2,3,4
Я наговнокодил немного, но есть проблемы с лишними запятыми, а иногда при удалении одного канала - удаляются все каналы :(
if($_GET['mode'] == "add_ch" ){
$ch_string='';
$result_ch_n = mysql_query("SELECT * FROM `users` WHERE `username`='".$_COOKIE["username"]."' AND `password`='".$_COOKIE["password"]."'");
if(mysql_num_rows($result_ch_n)){
$num_ch_n = mysql_fetch_assoc($result_ch_n);
if($num_ch_n["channels"]!=""){
$ch_string0 = ",";
}
}
$ch_string .= implode(",", $_POST["ch_id"]);
$ch_string2=$num_ch_n["ch_string"];
$out_str = $ch_string2.$ch_string;
$out_array = explode(",",$out_str);
$out_array = array_unique($out_array);
$ch_string2 = implode(",",$out_array);
if($ch_string2!=""){
if(mysql_query("UPDATE `users` SET `channels`=concat(channels, '".$ch_string0.$ch_string2."') WHERE `username`='".$_COOKIE["username"]."' AND `password`='".$_COOKIE["password"]."'")){
$report = 'Выбранные вами трансляции добавлены в избранное.';
}
}
else{
$report = 'Выбранные вами трансляции уже имеются в избранном.';
}
}
if($_GET['mode'] == "del_ch" ){
$result_ch_n = mysql_query("SELECT * FROM `users` WHERE `username`='".$_COOKIE["username"]."' AND `password`='".$_COOKIE["password"]."'");
if(mysql_num_rows($result_ch_n)){
$num_ch_n = mysql_fetch_assoc($result_ch_n);
if($num_ch_n["channels"]!=""){
$str = $num_ch_n["channels"];
$arr = $_POST["ch_id"];
$str = implode(',',array_diff(explode(',',$str),$arr));
if(mysql_query("UPDATE `users` SET `channels`='".$str."' WHERE `username`='".$_COOKIE["username"]."' AND `password`='".$_COOKIE["password"]."'")){
$report = 'Выбранные вами трансляции удалены из избранного.';
}
else{
$report = 'Выбранные вами трансляции не удалены из избранного.';
}
}
}
В общем говоря подглючивает иногда говнокодец мой. За помощь готов заплатить немного wmz! Заранее спасибо!