Привет всем! Вот возник вопрос... Я сделал проверку поля на аналогичный текст (т.е. до отправки формы в базу у меня идет запрос на проверку аналогичной записи), т.е. если например при добавлении новости название в точности повторяет уже существующее в базе, то выводится сообщение об ошике. На этом этапе все работает как нужно! Но при редактировании новости так сделать не могу, т.е. если например редактирую и название оставляю без изменения, то мне выдает ошибку что такая запись уже есть в базе, а надо чтобы у этой новости это поле пропускалось. Помогите модифицировать код ниже, чтобы при редактировании новости ошибка не вылазила, но в тоже время если изменить название на другое (которое уже есть в базе у другой новости), то выдавалась ошибка! Код (Text): <? // Это запрос на наличие аналогичных записей $sql=$db->query("SELECT COUNT(id_info) FROM info WHERE link_info='".mysql_real_escape_string($_POST['link_info'])."'"); if($db->fetchrow($sql, 0) > 0) { $err[] = 'Данная запись уже есть в базе'; } if(count($err) == 0) { // Если ошибки небыло, отправляем $sql=$db->query("UPDATE info SET link_info='$link_info' WHERE id_info=".$_POST['idup']); } else { print "Ошибка: "; foreach($err AS $error) { print $error.""; } } ?>
при нажатии кнопки "редактировать" PHP: <?php $edit = true; ?> при проверке существования заголовка новости PHP: <?php if($db->fetchrow($sql, 0) > 0) && $edit != true; ?> по завершении редактирования и записи новости в базу делать PHP: <?php unset $edit; ?>
Не работает и выдает ошибку: syntax error, unexpected T_BOOLEAN_AND в строке PHP: <?php if($db->fetchrow($sql, 0) > 0) && $edit != true; ?>
ну мозг включать нужно, а не бездумно копировать PHP: <?php if(($db->fetchrow($sql, 0) > 0) && ($edit != true)); ?>
Всем спасибо, сам смог сделать, оказалось все намного проще (просто понял как это сделать логически, до этого никак допетрить не мог)... Просто сделал еще сравнение по ид, т.е. если ид равен текущему, то значение если такое даже есть в базе пишется, если ид меньше или больше текущего, то выдаем ошибку если находим совпадение в имени...