Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Генерация URL
 
 автор: Dibilan   (26.05.2008 в 11:22)   письмо автору
 
 

Надеюсь на могучий php и форумчан подскажите как реализовать такой запрос
есть страничка со словами из мед энциклопедии:

Рак гортани
Рак губы
Рак желудка
Рак желчных путей и большого дуоденального сосочка
Рак кожи
Лимфозы кожи
и т.д


есть файлик med.txt в котором указывается принадлежность темы к html страничке
Рак гортани=Des7.htm
Рак губы=Des8.htm
Рак желудка=Des9.htm
Рак желчных путей и большого дуоденального сосочка=Des10.htm
Рак кожи=Des11.htm
Лимфозы кожи=Des12.htm


Как сформировать ссылки вида

<a href="Des7.htm">Рак губы</a>
и т.д

   
 
 автор: m@rchello   (26.05.2008 в 11:31)   письмо автору
 
   для: Dibilan   (26.05.2008 в 11:22)
 

$file=file('1.txt');//здесь ваш файлик
for($i=0;$i<count($file);$i++) {
    list($page_name,$page) = explode('=',$file[$i]);
    echo "<a href='$page'>$page_name</a><br>";
}

   
 
 автор: sim5   (26.05.2008 в 11:33)   письмо автору
 
   для: Dibilan   (26.05.2008 в 11:22)
 

А доступа к MySQL не предполагается?

   
 
 автор: Dibilan   (26.05.2008 в 11:46)   письмо автору
 
   для: sim5   (26.05.2008 в 11:33)
 

Доступ к mysql есть

   
 
 автор: sim5   (26.05.2008 в 11:50)   письмо автору
 
   для: Dibilan   (26.05.2008 в 11:46)
 

Тогда забудьте сразу о "файликах в коих прописывать что к чему", организовывайте все в базе - это оперативность в выборе, проще построение навигации, удобный поиск...

   
 
 автор: Dibilan   (26.05.2008 в 11:57)   письмо автору
 
   для: sim5   (26.05.2008 в 11:50)
 

а данные в базу вносить вручную?

   
 
 автор: sim5   (26.05.2008 в 12:18)   письмо автору
 
   для: Dibilan   (26.05.2008 в 11:57)
 

Запись в базу данных производится через интерфейс администратора (управление сайтом), написанном также на РНР.

Сами страницы можно хранить в папках на сервере, но вот связь между темами и принадлежащими им файлами - вот это в базе. В базе вы должны описать категории тем, подчиненные им подтемы и файлы этих подтем. Например, у вас в базе есть тема "Рак". Она корневая, тогда ее запись может быть такой в таблице:

id - номер записи в таблице, это id-темы (поле с автоинкрементом), например равно 15
parent - id родителя, у корневой категории (темы) равен 0, то есть у этой темы 0
name - название темы (в данном случе Рак)
descript - краткое описание темы

А вот так будет выглядеть запись подтемы для темы "Рак", например:
id - id-темы, например, равна 22 (поле с автоинкрементом)
parent - id родителя = 15, т.е. эта тема пренадлежит теме "Рак"
name - название темы (в данном случе Рак гортани)
descript - краткое описание темы
path - папка каталогов файлов данной темы
publish - файл контента темы des7.htm (забудьте о привычке именования файлов с использованием различных регистров - пострадаете когда нибудь). Возможно у темы будет не одно, а несколько файлов, тогда нужно будет описать и это условие.

и т.д. Кроме этих полей могут быть у категорий тем и другие описанные поля, например, изображение для темы, которое будет выводится на странице и т.п.. Теперь вы сможете построить меню ваших тем на странице, а запрос к файлу темы будет выглядеть как:

<a href="index.php?pub=22">Рак гортани</a>

где, значение переменной pud указывает какую запись взять из базы. Получив ее из базы вы формируете ответ пользователю, отдавая в браузер файл des7.htm.

   
 
 автор: Dibilan   (26.05.2008 в 12:36)   письмо автору
 
   для: sim5   (26.05.2008 в 12:18)
 

Спасибо за содержательный ответ и ваше терпение!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования