RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 551
от 24.12.2006, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 395, Экспертов: 49
В номере:Вопросов: 2, Ответов: 8


Вопрос № 67597: Здраствуйте. Хочу сделать на сайте 10-ку лучших статей. Если использую простую выборку из базы(сортировка по просмотрам) то получается, что скрипт выдает сначала все статьи с одинаковыми просмотрами, но почему-то он сортирует не начинаю с самой больш...
Вопрос № 67665: Вопрос такой: Есть страничка на которой редактируется информация о сотруднике, есть пункт фотография и на этой же странице она и отображаетсяю При обновлении фотографии происходит следующее: - загружается файл на сервер(в темп) - откр...

Вопрос № 67.597
Здраствуйте. Хочу сделать на сайте 10-ку лучших статей. Если использую простую выборку из базы(сортировка по просмотрам) то получается, что скрипт выдает сначала все статьи с одинаковыми просмотрами, но почему-то он сортирует не начинаю с самой большой(предположем у меня 23 самое большое, а он мне наченает с 10). Может кто нибудь знает как это исправить. Или у кого нибудь есть скрипт, предназначеный для этого.
Отправлен: 18.12.2006, 22:25
Вопрос задал: Маторник Михаил (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Денис Сергеевич
Здравствуйте, Маторник Михаил!

Возможно, пробема в том, что у Вас неверно задан тип поля, в котором хранится число просмотров. Нужно, чтобы он был числовым, например, int. Возможно, у Вас он текстовой, например, text. Проверьте.
Ответ отправил: Денис Сергеевич (статус: 2-ой класс)
Ответ отправлен: 18.12.2006, 22:50
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Ошибка была именно в этом

Отвечает: Cimus
Здравствуйте, Маторник Михаил!
Используйте такую конструкцию
SELECT * FROM `таблица` ORDER BY `поле` DESC
Выражение --- ORDER BY `поле` DESC --- даёт команду сортировать данные от большего к меньшему по указанному полю.
ORDER BY `поле` ASC --- выполняет обратную сортировку по указанному полю.

---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 9-ый класс)
Ответ отправлен: 18.12.2006, 23:58

Отвечает: Liw
Здравствуйте, Маторник Михаил!

Смотрите в мануале по SQL в сторону ORDER BY

Например: SELECT * FROM your_table_name ORDER BY pole DESC LIMIT 10

Где:
your_table_name - название вашей таблицы
pole - поле(столбец) где указано количество просмотров

ORDER BY - сортировка
DESC - по убывающей ( ASC - по возрастающей)
LIMIT 10 - 10 строк

Смотрите лучше мануал и удачи...
Ответ отправил: Liw (статус: 1-ый класс)
Ответ отправлен: 19.12.2006, 17:18

Отвечает: Anton S Petrov
Здравствуйте, Маторник Михаил!

select ПОЛЕ from БАЗА order by ПОЛЕ desc limit 10
Ответ отправил: Anton S Petrov (статус: 1-ый класс)
Ответ отправлен: 20.12.2006, 13:04


Вопрос № 67.665
Вопрос такой:
Есть страничка на которой редактируется информация о сотруднике, есть пункт фотография и на этой же странице она и отображаетсяю
При обновлении фотографии происходит следующее:
- загружается файл на сервер(в темп)
- открывается на считывание
- считывается все в переменную $buf
- закрывается файл
- открывается фото файл пользователя
- записывается в него все содержимое $buf
- закрывается фото файл пользователя
- запрос в бд на обновление (UPDATE)
Происходит загрузка этой страницы, тоесть отображение основного содержимого и вот тут глюк, фотка старая!!!
Как происходит отображение:
- запрос в бд выборка данных по сотруднику
- там есть текстовое поле "фото" в котором хранится что то типа foto/176.jpg оно считывается и заносится в тег img тоесть получается что то типа: img src='foto/176.jpg'
Как сделать так чтобы фото было новое???
В начало страницы пробовал вставлять - (в приложении 1)!
Притом пробовал вставлять с помощью php в начале страницы и с помощью html тега meta результат один, фотка старая, притом что в папке на сервере ее уже нет(точнее файл то остался а вот его содержимое изменилось), тоесть она находится в кеше браузера!!!

P.S.: изврат с заменой содержимого файла сделан из за того что сервак отказывается работать с unlink (результат удаления постоянно false)
P.S.: пробовал на Apache+MySQL+PHP и на IIS+MySQL+PHP

Приложение:

Отправлен: 19.12.2006, 12:15
Вопрос задал: Nooki (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Nooki!
Сделайте "img src='$fotofile?".MD5(time())."'" и у Вас каждый раз будет новая ссылка, соответственно опции кеша броузера Вас интересовать не будут (посылать заголовки nocache - пробовал - не помогает)
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 19.12.2006, 12:26
Оценка за ответ: 4

Отвечает: Cimus
Здравствуйте, Nooki!
Попробуйте отправить следующие загаловки

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 9-ый класс)
Ответ отправлен: 19.12.2006, 15:10
Оценка за ответ: 2

Отвечает: Punk_UnDead
Здравствуйте, Nooki!
предыдущие ораторы выступили правильно, но всё же выскажу своё ХО
окромя всего существует такое понятие, как принудительное кеширование, на стороне провайдера ли или на стороне клиента, изза которого картинки могут и не обновиться, если их не перезаказать вручную
а значит наилучшим методом будет действительно изменение имени,
минус в том, что это имя надо както придумать в начале и вычислить во время работы
вариант с уникальной первой частью для каждой фоты и ключём по времени мне например нравится
---------
всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 4-ый класс)
Ответ отправлен: 19.12.2006, 16:38
Оценка за ответ: 5

Отвечает: Liw
Здравствуйте, Nooki!

Как вариант могу предложить лишь изменение имени файла на что то случайное и потом это прописывать в теге src=""
Так как насколько мне извесно победить кэширование браузера нельзя.

Удачи...
Ответ отправил: Liw (статус: 1-ый класс)
Ответ отправлен: 19.12.2006, 17:18
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное