_A_

Рейтинг
2
Регистрация
13.11.2012
Zion-i2:
Всем привет! Есть сайт радио онлайн, меня постоянно смущал 1 момент, нельзя гулять по сайту слушая музыку. Для этого нужно держать отдельную вкладку, а как сделать чтобы как вконтакте музыка не сбивалась при переходе на другие страницы? Подскажите что это хоть за технология и в какую сторону рыть?

ВК использует Ajax, реально страница не перезагружается. А флеш-элемент, который воспроизводит музыку, просто остается на странице. При нажатии F5 страница обновляется полностью, флеш-элемент удаляется, музыка прекращается.

Zion-i2:
То есть, он выводит данные по дате, где самая свежая запись будет на первом месте, менее свежая на втором и тд по аналогии. А как мне сделать так, чтобы первые 4 самые свежие записи игнорировались, то есть выводить также по дате но начиная с 5 записи. Спасибо!

Возможно, так:

$start = $start + 5;
$result = mysql_query("SELECT * FROM post ORDER BY date DESC LIMIT $start, $num",$db);
postavkin:
А вместо номеров можно буквы - т.е. слова?

Если у вас будут отдельные файлы для каждого каталога и каждой страницы, то могут быть хоть буквы, хоть слова, хоть цифры.

Но, насколько мне известно, поисковики учитывают ключевые слова в УРЛ, таким образом по запросу со словами "красная" и "плитка" ссылка site.ru/catalog/plitka/red.php будет релевантней, чем site.ru/catalog/12/3.php.

В том случае, если вы планируете осваивать PHP, то лучше конечно же разобраться в этом сразу, потому как создавать отдельные файлы для каждого каталога и каждой страницы - самый простой, но не самый оптимальный путь.

Попробуйте так:

1. В .htaccess прописать:

RewriteEngine on

RewriteRule ^/catalog/([0-9]{1,})/([0-9]{1,})\.html catalog.php?catalog=$1&part=$2

Теперь все запросы вида site.ru/catalog/<число>/<число>.html будут идти в скрипт catalog.php .

2. В файле catalog.php сделать следующее:

а. Создать константу, содержащую необходимое число позиций на одной странице: define( 'CATALOG_POSITIONS' , 20)

б. Проверить GET переменные на правильность

в. Сделать запрос к БД

"SELECT * FROM catalog_table WHERE catalog = ".$_GET['catalog']." ORDER BY 'id' LIMIT ".(($_GET['part']-1)*CATALOG_POSITIONS).",".CATALOG_POSITIONS

г. Проверить количество найденных строк

Если их ноль, то выдаем ошибку 404

header("HTTP/1.1 404 Not Found");

И завершаем скрипт(если необходимо)

die();

Если строк больше нуля, то идем дальше

д. Выводите найденные строки на страницу

е. Делаете запрос:

"SELECT count(*) AS count FROM catalog_table WHERE catalog = ".$_GET['catalog']

Если count меньше или равна CATALOG_POSITIONS(т.е. 20), то смысла делать ссылки нету(т.к. в каталоге всего одна страница).

Если count больше CATALOG_POSITIONS, то необходимо вычислить количество страниц у каталога.

ё. Вычисляем количество страниц:

$count - количество страниц в каталоге(не забудьте создать переменную)

$catalog_pages = ceil($count/CATALOG_POSITIONS);

ceil - это округление до большего. Если, например, $count равен 125 и CATALOG_POSITIONS равен 20, то $catalog_pages будет равен 7 (6 страниц по 20 позиций и одна с 5-тью позициями)

ж. На основании $catalog_pages создайте ссылки на другие страницы каталога:

site.ru/catalog/номер каталога/номер страницы.html

Если не наделать ошибок, то поисковики это должны без проблем обработать и проиндексировать.

Не забывайте про безопасность при написании скрипта!

1 23
Всего: 23