Прошу помощи в создании "паспортов" для файлов

FocusR

Новичок
Прошу помощи в создании "паспортов" для файлов

Суть следующая. Есть база MySQL. Из нее загружаю списки файлов разбитые по категориям, алфавиту, постранично (по 30 штук) и т.д. Вот пример строки таблицы:

PHP:
print "<tr><td><p><a href=".$row["path"]." target=_top>Скачать ".$row["description"]." ".$row["version"]."</a></p></td>
<td><p><b>".$row["name"]."</b></p></td>
<td><p><b>".$data."</b></p></td>
<td><p><b>".$row["size"]." Mb</b></p></td></tr>
и т.д. - целая таблица.

path - путь к файлу.

Откровенно говоря, хочу увеличить хитов. Т.е. при нажатии по любому файлу, у посетителя не открывается окно закрузки файла, а он переходит на новую страницу, на которой расположена уже ссылка на скачивание файла + описания и т.п. Все данные загружаются из базы.

Файлов очень много и для каждого создавать страницы вручную проблематично. Я не представляю как можно создать ок. 20000 страниц вручную. :confused:

Т.е. подскажите пожалуйста как создать такие динамические страницы для каждого файла.
 

kseen

Новичок
Делаешь примерно также как сделал список файлов. То есть делаешь вместо
ссылку на скрипт (вместе с идентификатором файла), который будет выводить страницу
на которой расположена уже ссылка на скачивание файла + описания и т.п.
 

FocusR

Новичок
kseen
Меня как раз это и интересует. Как должен выглядить данный скрипт?

У каждого файла есть ID (колонка id_file).
 

kseen

Новичок
вместо
делаешь <a href="script.php?id=".$row["id_file"]."">Скачать файл!</a>
В скрипте script.php делаешь выборку по id_file запросом вида SELECT * FROM files WHERE id_file = '.$_GET['id_file'].' и выводишь текст по этому файлу (описание и т.д.) и ссылку на его скачивание
 

FocusR

Новичок
kseen
Спасибо. немного не так. Но я доработал скрипт. Как у тебя - id_file путаются между собой. И _Get получает пустое значение.
Вот как я сделал:
PHP:
$id = $row["id_file"];
<a href=script.php?id=".$id.">Скачать

в script.php
SELECT * FROM table where id_file = ".$_GET['id']."
Так, работает.

Кстати, а подскажи пожалуйста как мне например значение столбца file_name, которые выводятся в описании файла, занести автоматически в мета тэг keywords? Как в файл script.php я себе примерно представляю _Get(ом).
А как вставить все file_name в keywords на странице, где расположен список ссылок на страницы
<a href=script.php?id=".$id.">".$row["file_name"]."</a>

По форуму искал, но по keywords ничего дельного нет.
 

kseen

Новичок
FocusR
А что тут может быть сложного ? Делаешь выборку file_name'ов,а потом в цикле делаешь в начале скрипта принты
Что-то типа такого
PHP:
$sql_query = 'SELECT file_name FROM files';
$sql_res = MySQL_Query($sql_query);
print '<META name="keywords" content="';
while($file = MySQL_Fetch_Array($sql_res)){
print $sql_res['filename'].',';
}
print '">';
Только перед MySQL_Query не забудь подключиться к базе

Ты это имел ввиду?
 

FocusR

Новичок
kseen
Все правильно, но мне нужно вывести в keywords не все 20000 записей. :) А по твоему запросу, выведутся все записи.

Мне нужно только те которые выводятся по выборке на странице.
PHP:
SELECT * FROM files where filename LIKE 'a%' ORDER BY filename ASC LIMIT $start,$per_page"
Т.е. я вывожу на страницу записи по алфавиту и по 30 штук на страницу. Мне в keywords нужны только именно эти 30 записей.

Конечно я могу 2 раза на странице выполнить один и тотже запрос. Сначала, чтобы вывести keywords, а затем и сам список. Но сам понимаешь - это будет тормозить страницу.

Есть какие-нибудь другие варианты?
 

kseen

Новичок
Можно не делать запрос два раза.
Делаем запрос один раз
Выводим кейворды
Выводим сам список файлов
 

FocusR

Новичок
kseen
Сделал так. Вместо keywords выводится следующая ошибка:
PHP:
<meta name="keywords" content="<!--error--><br />
<b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>a.php</b> on line <b>19</b><br />
<script language=JavaScript src='/errors__/phperror_js.php'></script>">
Строка 19 - это
while($file = MySQL_Fetch_Array($sql_res)){

В чем может быть причина?
 

FocusR

Новичок
PHP:
$sql_query = 'SELECT id_file, description, file_name FROM files'; 
$sql_res = MySQL_Query($sql_query);
 

kseen

Новичок
Автор оригинала: FocusR
PHP:
$sql_query = 'SELECT id_file, description, file_name FROM files'; 
$sql_res = MySQL_Query($sql_query);
Не забыл ли подключиться к БД ? Смотри структуру таблицы files и смотри правильно ли ты делаешь запрос
 

FocusR

Новичок
kseen
Подключился. Запрос вроде бы верный. Т.к. если тотже запрос использовать в <body> (только для вывода списка). То все Ok! Не знаю в чем проблема...
 
Сверху