Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 20 21 22 23 24 25 26 27 28 ... 78 >>
На страницу:
24 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

$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. Работаем с ответами на комментарии */
<< 1 ... 20 21 22 23 24 25 26 27 28 ... 78 >>
На страницу:
24 из 78