Loading...
$data = $connect->prepare("select * from `users` where `login` rlike :keywords or `name` rlike :keywords or `wmr` rlike :adm or `email` rlike :adm order by `rating` desc limit :start, 12");
$data->bindValue(':keywords', $keywords);
$data->bindValue(':adm', ($adm_id == 1 || $adm_id == 5) ? $keywords : RS_ALL_CHARS);
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();

foreach ($sql as $row) {

echo '<div class="user-forlink">'.profileLink($row).'<div class="chi">'.rankUser($row['rating']).'</div><span class="online">'.online($row['id']).'</span></div>';

}

$page->navigation();

}



Мне нужно чтобы отображался список все у кого в таблице users 'ref' = '0'
<?php
$data = $connect->prepare("SELECT * FROM `users` WHERE `ref` = :ref AND (`login` rlike :keywords OR `name` rlike :keywords OR `wmr` rlike :adm OR`email` rlike :adm) ORDER BY `rating` DESC LIMIT :start, 12");
$data->bindValue(':ref', 0);
$data->bindValue(':keywords', $keywords);
$data->bindValue(':adm', ($adm_id == 1 || $adm_id == 5) ? $keywords : RS_ALL_CHARS);
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();

foreach ($sql as $row) {

echo '<div class="user-forlink">'.profileLink($row).'<div class="chi">'.rankUser($row['rating']).'</div><span class="online">'.online($row['id']).'</span></div>';

}

$page->navigation();

}
?>

Собственно в SQL запрос после WHERE добавляешь `ref` = :ref AND ( и перед ORDER BY `rating` добавляешь ) ну и перед $data->bindValue(':keywords', $keywords); добавляешь $data->bindValue(':ref', 0);
________
посл. ред. 07.02.2019 в 00:01; всего 1 раз(а); by null
Есть такой случай, что :keywords придется прописать столько раз, сколько он указан в запросе, ну это другая история *hz*
________
посл. ред. 07.02.2019 в 00:18; всего 1 раз(а); by Avenax
Avenax , Странно, биндинг же по имени идет а не по ? думаю дефолт биндинг одного параметра по имени должен корректно работать, он хотел лишь добавить проверку еще одну что бы ref равнялся нулю
null , сейчас не дома, так бы нашёл запрос (наверно нет, на старом ssd), вроде ATTR_EMULATE_PREPARES, точно сейчас не вспомню, вообщем была ругань с синтаксисом на то, что плейсхолдеров больше, чем параметров, давно это было, уже не вспомню
Avenax , Мб конфликт драйвера был? Там же вроде не все драйверы могут подготавливать запросы.
null , все может быть, уже не вспомню, но в голове отложилось, что сколько маркеров, столько атрибутов
null (06.02.2019 в 23:59)
<?php
$data = $connect->prepare("SELECT * FROM `users` WHERE `ref` = :ref AND (`login` rlike :keywords OR `name` rlike :keywords OR `wmr` rlike :adm OR`email` rlike :adm) ORDER BY `rating` DESC LIMIT :start, 12");
$data->bindValue(':ref', 0);
$data->bindValue(':keywords', $keywords);
$data->bindValue(':adm', ($adm_id == 1 || $adm_id == 5) ? $keywords : RS_ALL_CHARS);
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();

foreach ($sql as $row) {

echo '<div class="user-forlink">'.profileLink($row).'<div class="chi">'.rankUser($row['rating']).'</div><span class="online">'.online($row['id']).'</span></div>';

}

$page->navigation();

}
?>

Собственно в SQL запрос после WHERE добавляешь `ref` = :ref AND ( и перед ORDER BY `rating` добавляешь ) ну и перед $data->bindValue(':keywords', $keywords); добавляешь $data->bindValue(':ref', 0);

Не работает... Чистая страница
null , вот код всей страницы <?php
$title = 'Пользователи';
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");

if (isset($active)) {

echo '<div class="title">Пользователи</div>
<div class="menu">
<form action="" method="GET">
<input type="text" name="search" value="'.$search.'">
<input type="submit" value="Поиск">
</form></div>';

$keywords = $search ? preg_replace("/[\s,]+/", "|", $search) : RS_ALL_CHARS;

$stmt_num = $connect->prepare("select count(*) from `users` where `login` rlike :keywords or `name` rlike :keywords or `wmr` rlike :adm or `email` rlike :adm");
$stmt_num->bindValue(':keywords', $keywords);
$stmt_num->bindValue(':adm', ($adm_id == 1 || $adm_id == 5) ? $keywords : RS_ALL_CHARS);
$stmt_num->execute();
$count_res = $stmt_num->fetchColumn();

if ($count_res == 0) {
echo '<div class="menu">NONE</div>';
} else {

$page = new Pagination($count_res, 12);

if ($search) {

$page->setLink('?search=' . $search . '&');

echo '<div class="menu">Найдено по запросу: '.$count_res.'</div>';

}

$data = $connect->prepare("select * from `users` where `login` rlike :keywords or `name` rlike :keywords or `wmr` rlike :adm or `email` rlike :adm order by `rating` desc limit :start, 12");
$data->bindValue(':keywords', $keywords);
$data->bindValue(':adm', ($adm_id == 1 || $adm_id == 5) ? $keywords : RS_ALL_CHARS);
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();

foreach ($sql as $row) {

echo '<div class="user-forlink">'.profileLink($row).'<div class="chi">'.rankUser($row['rating']).'</div><span class="online">'.online($row['id']).'</span></div>';

}

$page->navigation();

}
require($_SERVER["DOCUMENT_ROOT"]."/inc/qqq.php");
} else {
header('Location: /');
}

require($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>
Всем спасибо уже решил вопрос!
Онлайн: 4
Время:
Gen. 0.1316
(c) Bym.Guru 2010-2026