[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание сайта видео-каталога
GOSEF
Доброго времени!
Пытаюсь сделать домашний сайт (видео-каталог) с доступом из локальной сети.
На сегодняшний день с некоторыми недочётами он работает. Выглядит так:
user posted image

По сути всего два раздела - информация о фильме(персоне) и поиск по базе.
Вся информация берётся из MySQL. Кодировка utf-8.

Хочу несколько переделать сайт, но плохо не знаком с программированием.
Есть краеугольные вопросы. Прошу подсказать куда копать. Очень прошу не отправлять по ссылкам на мануалы на "изучить альма-матер". Я не программист и думаю, в будущем мне эти знания не пригодятся. Причина, побудившая заняться этим - в нашей "деревне" появился интернет 20 кб/с. Смешно, но скачать фильм возможно за несколько дней. Но есть локалка. Есть место на хардах, есть фильмы. В начале расшаренные в локалке папки спасали. Но найти что-то конкретное уже сейчас представляет проблему. Думали в сторону DC++, но как-то не случилось. Решил создать каталог. За основу была взята программа алл май мовис. Базу АММ переношу в MySQL (стоит набор Vertrigo).

Терзающие вопросы:
1) Хочу сделать "не перегружающийся" сайт. Искал в интернете. Все ответы ведут к AJAX.
Имеет ли смысл делать такой сайт? Как сильно увеличивается нагрузка на железо при таком сайте?
На базе какого скрипта это лучше сделать? Хотелось бы реализовать следующий принцип работы:
- зашёл на страничку,
- задал выборку (допустим, Год), ниже (после Фильмов в базе) появился список фильмов, соответствующих выборке.
- кликнул на понравившийся, и слева отобразилась информация о выбранном фильме (с постером и скриншотами)

2) Та часть, где выводится информация о фильме у меня сделана на таблицах. Как лучше эту часть спроектировать - оставить на таблицах, или переписать в div-ы, или еще как-то?

3) Поиск. Сейчас работает с косяком - при выборе фильма из списка (после Фильмов в базе) прокрутка сбрасывается в начало списка. Пробовал переделать поиск с автозаполнением. Достаточно красиво получается. Посоветуйте, пожалуйста, как лучше организовать поиск? Возможно, на базе каких-то скриптов?



Спустя 33 минуты, 51 секунда (12.03.2011 - 13:15) imba написал(а):
GOSEF
1) Ajax. Это то же самое, что и загрузка конкретной страницы. Только в данном случае будет загружаться упрощенная страница (в которой лишь % общей информации, после этот % будет заменяться с основным содержанием), то есть при Аяксе нагрузка уменьшается. Аналогия с iframeамим, но те в свою очередь устарели, подгружаться лишь будет часть страницы, а значит серверу не прийдется обрабатывать всё, а лишь необходимое.
2) оставь на таблицах. Меньше гемора будет, а функционал и работоспособность та же. Разница в том, что див подгружается частями, а таблица формируется, а после даётся посетителю целиком. Если у тебя таблица лишь для информации о фильме, а не сайте в целом, то вполне разумно использовать её.
3) Если организуешь на AJAX, то проблема сразу уйдет. Сам список выглядит, как iframe, если это действительно так, то посмотри про якоря для HTML.

Спустя 22 минуты, 1 секунда (12.03.2011 - 13:37) GOSEF написал(а):
Цитата (imba @ 12.03.2011 - 10:15)
3) Если организуешь на AJAX, то проблема сразу уйдет.

Можете посоветовать на чём это лучше реализовать? Какую-нибудь ссылку?

Цитата (imba @ 12.03.2011 - 10:15)
Сам список выглядит, как iframe, если это действительно так, то посмотри про якоря для HTML.


У меня это сделано так:

<?php

...

if (isset ($persid))
{
echo " <div style='height:658px;overflow-x:auto;overflow-y:visible;'>
<div id='coolmenu'>"
;

...


else
{
if (isset ($count_movie_rows)) /*Если отсортировано выводить кол-во фильмов с учетом сортировки*/
{echo "<p align='center' class='title'>Фильмов с учетом сортировки: $count_movie_rows</p>";}
else /*Если не отсортировано выводить кол-во фильмов в базе*/
{
$result_movie_rows = mysql_query("SELECT * FROM movies");
$myrow_movie_rows = mysql_fetch_array($result_movie_rows);
$count_movie_rows = mysql_num_rows($result_movie_rows);
echo "<p align='center' class='title'>Фильмов в базе: $count_movie_rows</p>";
}
}


echo " <div style='height:658px;overflow-x:auto;overflow-y:visible;'>
<div id='coolmenu'>"
;

if ((isset ($myrow_search)) or (isset ($myrow_search2)))
{
if ($myrow_search['movieid'] > 0)
{
echo "<p align='center' class='title'>Совпадений по фильмам: $count_search_rows</p><div id='coolmenu'>";
do {
printf ("<a href='index.php?movieid=%s' alt='%s' title='%s'>%s</a>",$myrow_search['movieid'],$myrow_search['name'],$myrow_search['name'],$myrow_search['name']);
}
while ($myrow_search = mysql_fetch_array($result_search));
echo"</div>";
}
else
{
echo "<p align='center' class='title'>Совпадений по фильмам не обнаружено</p><div id='coolmenu'></div>";
}

if ($myrow_search2['actorid'] > 0)
{
echo "<p align='center' class='title'>Совпадений по персонам: $count_search2_rows</p><div id='coolmenu'>";
do {
printf ("<a href='person.php?actorid=%s' alt='%s' title='%s'>%s</a>",$myrow_search2['actorid'],$myrow_search2['name'],$myrow_search2['name'],$myrow_search2['name']);
}
while ($myrow_search2 = mysql_fetch_array($result_search2));
echo"</div>";
}
else
{
echo "<p align='center' class='title'>Совпадений по персонам не обнаружено</p><div id='coolmenu'></div>";
}
}

else
{
if ($count_movie_rows !=0)
{
do /*Генерация левого списка*/
{
printf ("<a href='index.php?movieid=%s' alt='%s' title='%s' TARGET='_top'>%s</a>",
$myrow_left['movieid'],$myrow_left['name'],$myrow_left['name'],$myrow_left['name']);

}
while ($myrow_left = mysql_fetch_array($result_left));
}

}
}

?>


т.е. через div. Или я ошибаюсь?

Спустя 13 минут, 27 секунд (12.03.2011 - 13:51) GOSEF написал(а):
Ещё вопрос по организации запросов к MySQL.
Как их лучше организовать?
Правильно ли то, что у меня идёт череда запросов? Или следует в одном файле запросить базу (SELECT * FROM вся_таблица), передать её в массив, а потом уже этот массив мучать выборками?

Вот эта конструкция верна:
$result_movie_rows = mysql_query("SELECT * FROM movies");
$myrow_movie_rows = mysql_fetch_array($result_movie_rows);
$count_movie_rows = mysql_num_rows($result_movie_rows);


Мне нужно взять список, в соответствии с запросом, и количество записей в этом списке.

_array вроде забирает количественную составляющую?

Спустя 2 минуты, 20 секунд (12.03.2011 - 13:53) imba написал(а):
GOSEF
Хорошо, там сделаны в виде ссылок, то есть через <a>, их вообще стоит убрать, вместо них пользуйтесь <div> или <span> и условием onclick - вызов Ajax.
Сложно говорить, правильно или нет, потому что всё предельно плохо. Плохой код невозможно поправить, его можно только переписать, но Вы ведь не хотите учиться. Если всё же надумаете, то гляньте: irbis-team.com .

Спустя 9 минут, 5 секунд (12.03.2011 - 14:02) GOSEF написал(а):
Цитата (imba @ 12.03.2011 - 10:53)
GOSEF
Если всё же надумаете, то гляньте: irbis-team.com .

Там и пытаюсь biggrin.gif


Цитата (imba @ 12.03.2011 - 10:53)
и условием onclick - вызов Ajax.


Не подскажите какой-ни-то скрипт, плагин jquery (мне как-то легче эта библиотека показалось)?

Спустя 13 минут, 22 секунды (12.03.2011 - 14:15) imba написал(а):
GOSEF
На чистом JS реализовать лучше, чем всякие там библиотеки. Хотите, чтобы из-за одной мини-функции весь сайт стал подтормаживать из-за лишней нагрузки? Не советую. jQuery - библиотека, набор скриптом на JS, но он ничем не лучше Аякса. Вместо того, чтобы тут болтать, почитай про Ajax, я его освоил, в своё время, за пол ночи, ничего сложного в нём нет, особенно когда в интернете полным полно примеров. Вот если прям сейчас пойдешь читать без остановок, к вечеру уже сделаешь на Ajaxе всё как надо. Если же проблемы возникнут - обращайся к нам, мы подправим твой скрипт.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.