PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (12): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 176
Еугений Отправлено: 07 Ноября, 2014 - 14:37:46 • Тема: Получить url... • Форум: CMS и фреймворки

Ответов: 1
Просмотров: 915
Всем привет, подскажите как в Yii получить текущий url без какого-нибудь GET-а.
Например из текущего url:

/index.php?r=post/view&id=100&cat=41&cat2=32

нужно получить такой, без переменной GET['cat2'] :

/index.php?r=post/view&id=100&cat=41

Это для того, чтобы ее перезаписать и сгенерировать другой url /index.php?r=post/view&id=100&cat=41&cat2={другое значение}
Это для формирования ссылки
Еугений Отправлено: 07 Сентября, 2014 - 12:47:58 • Тема: Про часовые пояса • Форум: Работа с СУБД

Ответов: 0
Просмотров: 504
Бывает такое, что в бд mysql может оказаться, что есть две строки, выложеные в один день(11:30 и 20:30 1 сентября по московскому времени ), хотя пользователь из владивостока опубликовал это в два разных дня. И я хочу для него вывести то что он опубликовал за последнию неделю. В итоге он может получить даже восемь постов. Как такое избежать?
(Добавление)
Использую timestamp
(Добавление)
Чуть не забыл. Есть ограничение-только один пост в день можно публиковать в один, поэтому две в один день не должны получится
(Добавление)
В можно так?? Select data+ interval 9 hour from ...
(Добавление)
Не, так тоже не годится. Буду делать так
WHERE data > 'дата недельной давности с учетом пояса пользователя'. Не должно выводить больше семи, а при выходе просто суммировать часовой пояс для пользователя
Еугений Отправлено: 05 Сентября, 2014 - 11:03:46 • Тема: Вывод за последнюю неделю • Форум: Работа с СУБД

Ответов: 2
Просмотров: 666
RickMan пишет:
Вот тут есть решение:
http://blog[dot]mozilla[dot]org/it/2012/[dot][dot][dot]-times-in-mysql/

Ну а часовой пояс пользователя выловить не проблема....
лучше наверно запрашивать у пользователей
Еугений Отправлено: 05 Сентября, 2014 - 10:47:50 • Тема: Вывод за последнюю неделю • Форум: Работа с СУБД

Ответов: 2
Просмотров: 666
Здравствуйте помогите. Я сейчас обдумываю один проект, и там понадобится такая вещь:вывод последних записей опубликованных за последнюю неделю, и мне бы хотелось чтобы например пользователь владивостока, у которого например уже новый день, мог вывести то, что опубликовано им уже в этот день. Но ведь interval 1 week будет работать только с установленным на сервере временем, в моем случае московском. Как быть?
Еугений Отправлено: 21 Августа, 2014 - 21:00:16 • Тема: как в яваскрипт Гет получить? • Форум: Вопросы новичков

Ответов: 6
Просмотров: 225
Попробуй убрать var. В глобальную переменную запиши эксперимента ради
(Добавление)
<script>
<?php
echo "get = '$_GET['index']";
?>
</script
Еугений Отправлено: 21 Августа, 2014 - 02:43:17 • Тема: Сортировка без первичного ключа • Форум: Работа с СУБД

Ответов: 2
Просмотров: 764
Привет, форумчане.
У меня есть таблица 'ratings' с тремя столбцами 'id_post' 'id_user' и 'ocenka'.
Пользователь голосует за пост, заносим его в бд, чтобы пресекать повторное голосование.
У каждого поста есть свой автор, и я хочу добавить возможность чтобы он мог узнать кто именно голосовал, и за какой именно его пост и какая оценка.

То есть нужно связать три таблицы posts,users и 'ratings'
как то так
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT users.login,ratings.ocenka,posts.title FROM posts,users,ratings WHERE ratings.id_post = posts.id AND ratings.id_users = users.id AND id_post = {id_моего_поста}

И мне бы хотелось, чтобы оценки выдавались так: новые - вверху, старые внизу. В таблице нет первичного ключа, а то я бы сделал order by id desc. Я поэкспериментировал, вставлял данные, но некоторые вставляются то в конец, то в начало, и в phpmyadmin смотрел и выводом на сайт.
(Добавление)
Решил, добавлю столбец data, и буду сортировать по нему, правда все старые записи будут с датой 0000-00-00 00:00:00.
Погуглил, нашел только один пост на форуме, там написали, что бд хранит добавляемые записи как ему угодно, и вывести без order by данные в нужном мне порядке не получится вроде как
Еугений Отправлено: 19 Августа, 2014 - 17:20:01 • Тема: Ограничение публикуемых комментариев • Форум: Вопросы новичков

Ответов: 8
Просмотров: 293
Ааа... Я тут нагуглил, если делать составной (a,b) то b не индексируется, то есть Where b = '123' будет не по индексу, а выборка будет быстрой только по a и по a^b. И еще 'a' должен быть такой столбец, где меньше вариантов значений - так будет быстрее. Значения столбца id_author иногда будут повторятся , а data всегда уникальна. Ты это имел ввиду?
Еугений Отправлено: 19 Августа, 2014 - 16:02:00 • Тема: Ограничение публикуемых комментариев • Форум: Вопросы новичков

Ответов: 8
Просмотров: 293
Еугений пишет:
хочу сделать составной data&id_author?

Зачем?[/quote]
но ведь ты сам написал, выборка по составному data & id_author ничего не будет стоить
Еугений Отправлено: 18 Августа, 2014 - 21:33:17 • Тема: Ограничение публикуемых комментариев • Форум: Вопросы новичков

Ответов: 8
Просмотров: 293
Спасибо за ответы. Я тут подумал, если не ставить ограничения, то любой хакер или бот может выложить по несколько тыщ постов, нагрузив бд. Понимаю,вероятность этого крайне мала, но так жалко делать все время проверку, есть ли еще способы, похитрее?
(Добавление)
Мелкий пишет:
Еугений пишет:
большая нагрузка

Где? По составному ключу id_author & data проверка стоить ничего не будет.
А с учётом сущности - пишут значительно, на порядок-другой, меньше, чем читают - это нормальное, не избыточное решение.

На каждую таблицу вешать составной ключ - а они много места занимают? И еще вопросик. Если уже стоит индекс на id_author, надо ли его удалить, если я хочу сделать составной data&id_author?
Еугений Отправлено: 18 Августа, 2014 - 20:43:57 • Тема: Ограничение публикуемых комментариев • Форум: Вопросы новичков

Ответов: 8
Просмотров: 293
Всем привет. Хочу поставить ограничение на количество публикуемых материалов Например, нельзя публиковать более 20 комментов в час, более 10 постов в час и тд. Как такое можно реализовать получше? У меня есть идея перед публикацией проверять запросом, например, комментарии: select id from comments where id_author=25 and data > subway(now(), interval 1 hour) order by id desc limit 20,1. Далее считаем количество найденых комментов. Если ноль-значит можно публиковать. Это конечно того не стоит- большая нагрузка, да и комменты на сайте оставляют только зарегистрированные так что наверно не буду так делать Но если вдруг действительно будет важно ограничить?
Еугений Отправлено: 28 Мая, 2014 - 13:21:47 • Тема: Где хранить лучше • Форум: Вопросы новичков

Ответов: 7
Просмотров: 282
Stierus пишет:
горячий кеш на файлах - нормальное решение Улыбка

а подойдет обычный txt?
(Добавление)
Я хотел так: перед записью вытащить из бд нужные данные, объединить в один массив, сериализовать записать в txt. И так постоянно обновлять. И оттуда считывать и выводить на сайте.. Направьте в нужном направлении. Улыбка
Еугений Отправлено: 28 Мая, 2014 - 09:57:04 • Тема: Где хранить лучше • Форум: Вопросы новичков

Ответов: 7
Просмотров: 282
Всем привет. Есть растущий сайт, на всех страницах показывается одна и та же информация (последние комменты, новый посты, новые пользователи и пр.). Кароче, инфа из разных таблиц. Хочу сделать отдельную таблицу и туда запихивать это все. Вместо нескольких таблиц обращаться к одной. Обновлять раз или два раза в день инфу, думаю, хватит (с помощью крона).
Вот думаю, может, записывать в файл?
Мемкач хост установить не разрешает.
Еугений Отправлено: 19 Апреля, 2014 - 18:47:54 • Тема: Помогите с запросом • Форум: Работа с СУБД

Ответов: 0
Просмотров: 584
Здравствуйте.
Есть таблица mess для хранения сообщений с полями id, i_id, you_id, text, data. i_id - это отправитель, you_id - получатель.
Я хочу сгруппировать id тех людей, кто отправил мне сообщения и пишу запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM mess WHERE  you_id  = {мой_id} GROUP BY i_id

В итоге получаю то что нужно: id тех людей, которые когда то мне отправили сообщения.
В столбце text при группировке почему то записывается текст самого первого входящего сообщения, было бы здорово, если бы там было последнее отправленное мне сообщение.
Как изменить запрос?
(Добавление)
Я хочу сделать как в ВК диалоги, хочу в таблице вывести всех моих собеседников с последними сообщениями, либо исходящими от меня им, либо входящими. Запрос есть, только не могу получить именно последние соо.
(Добавление)
Хм, пожалуй так нельзя. Но можно вытащить максимальные значения id запросом
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT max(id) FROM `mess` WHERE you_id = {мое_id} GROUP BY i_id

и по этим id-шникам вытащить последние соо.
А можно в один запрос объединять?
Ну что то типа:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM mess WHERE id IN(SELECT max(id) FROM mess WHERE you_id = {мое_id} GROUP BY i_id)
Этот запрос не работает.. Тоже выдает почему то первые сообщения
Еугений Отправлено: 04 Февраля, 2014 - 20:49:55 • Тема: Помогите составить запрос • Форум: Работа с СУБД

Ответов: 2
Просмотров: 723
Здравствуйте Радость
Есть столбец в таблице mysql с названием tags. В ней, через запятую, перечислены теги к посту. Только чтобы меньше занимало памяти я там позволяю хранить цифры. (1,12,112,34 напр) . Каждая цифра - индекс из массива с тегами.
Столкнулся с трудностями. Когда делаю выборку по определенному тегу (например, ищу те которые содержат тег номер 2) и составляю вопрос LIKE, то получаю и те посты, которые с номером 2: 12, 112, а они мне не нужны. Я склоняюсь к идее плюнуть на цифры и хранить теги в виде текста но я слыхал что запросы поддерживают регулярные выражения. Короче в итоге регулярка должна: искать тег-цифру,но чтобы она была либо окружена запятыми, либо запятая слева или справа..
Буду рад, если напишите запрос, либо посоветуете принять правильное решение.
Еугений Отправлено: 30 Января, 2014 - 18:14:59 • Тема: reload в ie • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 1119
Мелкий пишет:
Запросто. Добавьте к src любое что-то (/include/img.php?nocache=(случайное число, полученное JS'ом)) и картинка перезагрузится.
Здорово, ща попробую. в топку фреймы

Страниц (12): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB