Войти

Показать полную графическую версию : Фотогалерея на PHP и MySQL


Страниц : 1 [2]

Plutonium 239
15-01-2006, 07:28
Почему 50%? А 100% когда будет?
проценты высчитываються исходя из того что 0% это картинка с самым низким значением рейтинга, а 100% - с самым низким, остальные между ними.
вопрос по дизайну: у меня есть два файла header.inc и footer.inc в них везде прописаны пути к картинкам так img/****.gif а подразделы находятся в разных каталогах и в них картинки не работают, как можно сделать чтобы пути в этих файлах менялись в зависимости от того где находится файл в который они вставлены.

Igor_I
15-01-2006, 13:04
плясать от начала сайта
<img src="../image/ .... > ../
либо пересмотреть скрипты, переместив их все в одну папку
http://www.htmlbook.ru/content/?id=9

vadimiron
15-01-2006, 13:35
Plutonium 239
используй абсолютные пути, папка с картинками у тебя же не меняется
создай файл с константами, который будет инклудится в каждый скрипт
там создай константу, типа SITE_ROOT, значение которой является $_SERVER['DOCUMENT_ROOT'] и ещё что то, если сайт лежит не в самом 'DOCUMENT_ROOT', далее нужна константа с путём к картинка, например
define("IMG_DIR",SITE_ROOT."/img");
и так далее

тогда проблем с путями не будет
Единственное, что нужно будет менять при изменении места жительства скрипта, так это путь от скрипта до файла, где определены все эти константы

----------------------------------------------------------------------------------------

Я честно говоря тоже не до конца понимаю твою систему рейтинга
Нельзя ли просто каждый раз брать текущий средний рейтинг, приплисовывать к нему только что выбранный юзером и делить потом эту сумму на два, это и будет твой новый рейтинг с учётом нового голоса

проценты высчитываються исходя из того что 0% это картинка с самым низким значением рейтинга, а 100% - с самым высоким, остальные между ними.
Мне кажется это не совсем верно
100% эта картинка, у которой все отданные голоса равны максимальному значению, то есть если у тебя оценки от 1 до 5, то 100%-это когда все юзеры отдали 5 за данную фотку, соответственно и среднее значение будет 5

Underson
15-01-2006, 14:00
если ты пути используешь html а не в php тогда можно потупить проще вместо "img/***.gif" написать "/img/***.gif" и тогда эти пути будут работать правильно реботать, но это только в html ....

Igor_I
15-01-2006, 14:54
100% эта картинка, у которой все отданные голоса равны максимальному значению, то есть если у тебя оценки от 1 до 5, то 100%-это когда все юзеры отдали 5 за данную фотку, соответственно и среднее значение будет 5
Тогда зачем рейтинг, если средний балл и так 5?
Скажем по ТВ - 100% это вся аудитория, рейтинг передачи - это сколько человек смотрит передачу (в %)
vadimiron
А зачем так все усложнять с путями?

vadimiron
15-01-2006, 15:26
vadimiron
А зачем так все усложнять с путями?
При изменении названия папки с картинками надо будет только в одном заранее известном месте поменять название, а не бегать по всем скриптам и там изменять
Тоже самое относится если меняем путь к папке с картинками

По-настоящему, это не закон, а стиль программирования, который иногда облегчает жизнь

Тогда зачем рейтинг, если средний балл и так 5?
Я честно говоря тоже не понимаю. Видя средний бал и зная какой бал максимальный он может поставить, юзер сам в голове примерно проценты подсчитает, проценты всегда сложней воспринимаются, так как встаёт сразу вопрос проценты относительно чего

Plutonium 239
16-01-2006, 15:20
используй абсолютные пути, папка с картинками у тебя же не меняется
создай файл с константами, который будет инклудится в каждый скрипт
там создай константу, типа SITE_ROOT, значение которой является $_SERVER['DOCUMENT_ROOT'] и ещё что то, если сайт лежит не в самом 'DOCUMENT_ROOT', далее нужна константа с путём к картинка, например
define("IMG_DIR",SITE_ROOT."/img");
и так далее
Так и сделал.100% эта картинка, у которой все отданные голоса равны максимальному значению, то есть если у тебя оценки от 1 до 5, то 100%-это когда все юзеры отдали 5 за данную фотку, соответственно и среднее значение будет 5
А так и получается.
Рейтинг используется только для сортировки, если сортировать по среднему далу получается некорректно.
Допустим за 1 картинку проголосовало 10 человек все на 10 балов, средний бал будет 10.
А за другую проголосовала 100 человек, 99 на 10 балов, а один на 8, средний бал будет 9,98.
А рейтинг это просто общая сумма голосов за эту картинку.если ты пути используешь html а не в php тогда можно потупить проще вместо "img/***.gif" написать "/img/***.gif" и тогда эти пути будут работать правильно реботать, но это только в html ....
а если html вставки в PHP?

Underson
16-01-2006, 15:58
а если html вставки в PHP? а я про это и говорил... тоесть это работает когда путь прописан в HTML тегах... а когда в include то этот путь не такой путь не сработает... хотя vadimiron тоже дело говорит...

Plutonium 239
28-05-2006, 11:57
вот еще вопрос по той же теме
как определить картинку с максимальным рейтингом в каждом разделе, у мненя получилось только так, но это работает неправильно
SELECT areaid, area_name, comment, file, count(fotoid), max(rating)
FROM area, foto
where area.areaid = foto.area
GROUP BY area.areaid
нужно чтобы записи групировались по areaid и в каждой группе выбиралась картинка и максимальным значением rating.

Prisoner
28-05-2006, 12:26
SELECT
`area`.`areaid`,
`area`.`area_name`,
MAX(`foto`.`rating`) AS `max_cnt`
FROM
`area`,
`foto`
WHERE
(`area`.`areaid` = `foto`.`area`)
GROUP BY
`area`.`areaid`
Почти твой вариант... какие-то проблемы?

Plutonium 239
28-05-2006, 13:31
Prisonerкакие-то проблемы?
В том то и проблема, что это работатет не так как требуется, этот код выводит табличку по разделам и значение рейтинга картинки у которой он максимальный, а картинку другую! а мне нужно найти не рейтинг а получить таблицу картинок с максимальным рейтинго по категориям.

vadimiron
28-05-2006, 13:38
Plutonium 239
То есть выяснить для каждой категории, какая картинка из данной категории имеет самый высокий рейтинг??

mar
28-05-2006, 13:40
Plutonium 239
Prisoner
Для такой задачи необходима возможность задания запроса в запросе, или JOIN запроса, а не всей таблицы. Боюсь, что это задача не для mysql и надо с ней справляться mysql+php

Plutonium 239
28-05-2006, 13:49
То есть выяснить для каждой категории, какая картинка из данной категории имеет самый высокий рейтинг??
да именно так, чтобы вывести табличку тип: категория такая-то и картинка эта и .т.п.
marДля такой задачи необходима возможность задания запроса в запросе, или JOIN запроса, а не всей таблицы. Боюсь, что это задача не для mysql и надо с ней справляться mysql+php
И как бы это сделать?

vadimiron
28-05-2006, 20:13
А так не пройдёт???


SELECT
area.areaid,
area.area_name,
foto.rating
FROM
area,
foto
WHERE
(area.areaid = foto.area)
GROUP BY
area.areaid
HAVING MAX(foto.rating)

Plutonium 239
29-05-2006, 12:30
vadimironА так не пройдёт???
А так вообще ничего не выдает.

mar
29-05-2006, 13:23
mar
Цитата:
Для такой задачи необходима возможность задания запроса в запросе, или JOIN запроса, а не всей таблицы. Боюсь, что это задача не для mysql и надо с ней справляться mysql+php

И как бы это сделать?
Брать результаты запроса по данным раздела и в цикле на php делать запрсы с выявлением максимального зачения по каждому разделу. Криво, но для mysql (нестарших версий), иначе по-моему, не получится.




© OSzone.net 2001-2012