$sql = 'SELECT login FROM users WHERE id = :id';
$s = $dsn->prepare($sql);
$s->bindValue(':id', $_POST['author']);
$s->execute();
$legend = $s->fetchColumn(0);
} catch (PDOException $e) {
echo $e->getMessage();
echo $e->getLine();
exit('Ошибка поиска логина в базе комментариев');
}
} else {
$legend = '';
}
/* Start. Работаем с комментариями */
//если выбрано поле "ответы" выходим и ничего не делаем в разделе "комментарии"
if (isset($_POST['category']) and $_POST['category'] == 'reply') {
}
/* иначе формируем запрос к базе */
elseif (isset($_POST['action']) and $_POST['action'] == 'search' or !isset($_POST['action'])) {
include $_SERVER['DOCUMENT_ROOT'] . '/chat/dsn.php';
// Базовое выражение SELECT.
$select = 'SELECT say.id, say.userid, say.saytext, say.saydate';
$from = ' FROM say INNER JOIN users ON say.userid = users.id';
$where = ' WHERE TRUE';
$sequence = array();
// Автор выбран
if (isset($_POST['author']) and $_POST['author'] != '') {
$where .= " AND userid = :userid";
$sequence[':userid'] = $_POST['author'];
}
// Была указана какая-то искомая строка
if (isset($_POST['text']) and $_POST['text'] != '') {
$where .= " AND saytext LIKE :saytext";
$sequence[':saytext'] = '%' . $_POST['text'] . '%';
}
try {
$sql = $select . $from . $where;
$s = $dsn->prepare($sql);
$s->execute($sequence);
} catch (PDOException $e) {
echo $e->getMessage();
echo $e->getLine();
exit('Ошибка при извлечении комментариев');
}
foreach ($s as $row) {
$says[] = array('id' => $row['id'], 'userid' => $row['userid'], 'text' => $row['saytext'], 'saydate' => $row['saydate']);
}
}
/* End. Завершаем обработку комментариев */
/* Start. Работаем с ответами на комментарии */