PHP:
if (!empty($_POST['ticketclose'])) {
$table = $config['mysql_table'];
$id = (int)$_POST['ticketclose'];
$sql = "UPDATE $table SET closed=1 WHERE id=$id";
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
if (!empty($_POST['ticketclose'])) {
$table = $config['mysql_table'];
$id = (int)$_POST['ticketclose'];
$sql = "UPDATE $table SET closed=1 WHERE id=$id";
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
агент поддержки добавляет комментарий в текстарею, в колонке с информацией о тикете, и жмет кнопку) ну и комментарии оператора и юзера будут друг за другом выводится..кстати, по поводу комментариев.
сколько их может быть у тикета?
includ-ом же инклюжу конфиг)короче, больше одного?
почему тогда пишется в $config['mysql_table']? это ведь основная таблица - для тикетов?
а комменты должны писаться в другую.
откуда вообще берётся эта переменная?
if(isset($_POST['ticketcomment']))
if (!empty($ticketcomment))
$sql4
= mysql_query("
if (!empty($_POST['ticketcomment'])) {
$id = (int)$_POST['id'];
$uid = (int)$_POST['user'];
$mess = mysql_real_escape_string($_POST['ticketcomment']);
$sql = "INSERT INTO comments VALUES (NULL,$id,$uid,'$mess','$config[time]')";
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
скопипастил откуда-то, буду знать :3одновременно проверять на isset и empty нет смысла. empty цже включает в себя isset
хых, действительно. будету тебя нет переменной $ticketcomment
хорошоне надо нумеровать свои переменные. Это просто запрос, который следующей строчкой будет исполнен. и какой он по счёту - абсолютно неважно
к тому же конкретно эта переменная вообще не нужна. и названа она неправильно - никаокго SQL она не содержит.
на следующих строках) разбил на строки, было нечитабельно пока писал его.никаокго SQL она не содержит.
if (!empty($_POST['ticketopen'])) {
$table = $config['mysql_table'];
$ticketid = (int)$_POST['ticketopen'];
$sql = "UPDATE $table SET completed=0 WHERE id=$ticketid";
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
if (!empty($_POST['ticketclose'])) {
$table = $config['mysql_table'];
$ticketid = (int)$_POST['ticketclose'];
$sql = "UPDATE $table SET completed=1 WHERE id=$ticketid";
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
if (!empty($_POST['ticketcomment'])) {
$table = $config['mysql_table2'];
$ticketid = (int)$_POST['ticketid'];
$username = (int)$config['username']; // в конфиге $config['username'] = $member_id['name'];
$ticketcomment = mysql_real_escape_string($_POST['ticketcomment']); // а зачем real?
$sql = "INSERT INTO $table VALUES (NULL,$ticketid,$username,'$ticketcomment','$config[time]')"; // id | tid | user | message | timestamp // откуда вы знаете содержание моего конфига и таблицы?О_О // $config['time'] = time();
mysql_query($sql) or trigger_error(mysql_error(). " ".$sql);
}
в плане было вернуть все на одну строку после написания этого самого sql4.Повторяю, никакого SQL твоя старая переменная $sql4 не содержит.
можешь сделать echo $sql4; и убедиться.
Разбивать на строки надо тоже с умом. Делая по одному слову на строчку, ты наоборот - ухудшаешь читабельность.
чтобы в случае чего можно было изменить сразу в конфиге, а не лазать всюду и искать совпадения. ну если Вы считаете, что лучше прямо в запросе - сделаем..что это ещё за mysql_table2? Откуда желание запихать все имена таблиц в конфиг, да ещё и с идиотскими именами?
почему нельзя написать прямо в запросе?
придираетесь?) предлагаете перенести ту строку в главный код?хано id пользователя - это уже перебор.
в конфиге должны быть статические вещи.
а тут я чего-то не понял :/ зачем объединять?Я обратить твоё внимание на тот факт, что первые два if-а подозрительно похожи между собой, и спросить, как их можно объединить в один. Но теперь думаю, что задачка будет слишком сложная.
в случае чего? какой случай тебе приходит в голову? а почему только имя таблицы, а не имена полей, скажем?чтобы в случае чего можно было изменить сразу в конфиге
я предлагаю вообще её не писать. $config['username'] - бессмысленная переменная.придираетесь?) предлагаете перенести ту строку в главный код?ха
эта вся хрень присобачена будет мб к DLE, оттуда и берется ник юзера. ник юзера пишется в таблицу с комментариями.почему не id - даже отвечать не буду, хм.непонятно, кстати, почему в таблицу пишется имя юзера, а не его id.
потому что таблицы не мои, я всего лишь веб-часть пишу, таблицы к DLE никакого отношения не имеют, говорить об id юзера вообще нет смысла.и что же мешает тебе ответить? тоже DLE?
это не ко мне, а к автору плагина. плагинов таких около 3-4, везде ник оператора идет ником, а не id.как это нет?
привязка всегда должна идти по id - это аксиома.
и это о других вариантах "говорить нет смысла"
по уникальному ключу, яб сказал...привязка всегда должна идти по id - это аксиома.
если бы делал все сам - я бы сделал отдельную таблицу ID | username, а в таблицу с комментариями и тикетами писал бы id юзератак не хочется прерывать вашу милую беседу. но всеже ник - уникальное поле, с точки зрения базы данных оно может быть ключем.
по уникальному ключу, яб сказал...
вот почему я выбираю уникальный ключик всегда id не знаю - возможно предрассудок, но хотел бы услышать мнение фаната!