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

Форум PHP

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

 

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

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

тема: Как сделать каталог ссылок?
 
 автор: malishka   (15.08.2005 в 19:56)   письмо автору
 
 

Я хочу сделать каталог ссылок. Как открывать, считывать, выводить результаты из текстовых файлов, как записывать в них добавленные ссылки я, кажется разобралась.

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

   
 
 автор: cheops   (15.08.2005 в 20:07)   письмо автору
 
   для: malishka   (15.08.2005 в 19:56)
 

Пока тоже не очень понятно... а как у вас организовано хранение информации в файлах? Под каждый раздел выделен отдельный файл или всё в куче хранится, но каждая запись помечена как принадлежащая отдельному разделу?

   
 
 автор: ADmexture   (16.08.2005 в 08:11)   письмо автору
 
   для: malishka   (15.08.2005 в 19:56)
 

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

Может быть тебе надо создать базу данных, в которую скрипт будет заносить текст (каждая ячейка - отдельная тема). А затем срипкт который будет выводить список категорий из базы данных (каждая категория - отдельный столбец с определенной ссылкой).
Попробуй доработать это скрипт, где $dbResult = mysql_query($query), а $query - текст который ты заносишь в базу (INSERT INTO....)


<?php
print("<table>");
while(
$dbRow mysql_fetch_assoc($dbResult))
{
  print(
"<tr>\n");
  print(
"<td><a href=""> $dbRow['Name']</a></td>");
  print(
"</tr>");
}
print(
"</table>");
?>  

Насчет ссылок:
Тебе наверное придется работать через операторы (их указываешь в ссылках).
Допустим ссылка = edit.php?name=$name где $name - извлечения из базы данных определенного числа.

Тот файл который будет выводить текст, выведет его ссылаясь на то число которое указанно в $name (SELECT from ... where name=$name)
Ну а потом распичатаешь текст.

Если я где то не прав, поправьте, я могу и ошибиться!

   
 
 автор: malishka   (16.08.2005 в 12:18)   письмо автору
 
   для: ADmexture   (16.08.2005 в 08:11)
 

Дело в том, что я очень плохо разбираюсь в базе данных. Единственное, что я могу сделать это подключить уже готовый скрипт. Т.е всё то, что Вы посоветовали мне, для меня очень мало понятно. Я хотела бы сделать каталог ссылок с использованием одних только txt-файлов вместо mysql.

Но Ваш совет, вполне возможно, пригодиться мне в будущем, большое Вам спасибо.

   
 
 автор: Киналь   (16.08.2005 в 12:45)   письмо автору
 
   для: malishka   (15.08.2005 в 19:56)
 

>Но я никак не могу понять как, сделать так, чтобы скрипт
>считав файл со списком категорий, выводил бы ссылки на
>соответствующие категории и, взависимости от выбранной
>категории начинал бы считывать и выводить данные из
>какого-то определённого файла соответсвующего той или иной
>категории.

Приведите, пожалуйста, пример использующихся txt-файлов - две-три строчки. Тогда будет понятнее, о чем речь.

   
 
 автор: malishka   (17.08.2005 в 15:51)   письмо автору
 
   для: Киналь   (16.08.2005 в 12:45)
 

Файл со списком категорий будет выглядеть примерно так:


Безопасность|ohrana.txt
Автомобили, запчасти|avto.txt
Грузоперевозки|gruz.txt


А каждый из файлов со ссылками так:


<A href="http://malish2003.narod.ru/" target="_blank"><img src="http://malish2003.nm.ru/b.gif" width="88" height="31" alt="Сайт о собаке по кличке Малыш"></a>|email@mail.ru


На каждой строчке по ссылке.

   
 
 автор: Киналь   (17.08.2005 в 16:23)   письмо автору
 
   для: malishka   (17.08.2005 в 15:51)
 

Та-ак... ну, поехали.
1) Открываем файл с категориями и считываем его функцией file(). В итоге имеем массив строк $mas.
2) Дальше в цикле берем каждый $i-тый элемент массива $mas и делаем так:

<?php
$string_mas
=explode("|"$mas[$i]);
//масссив $mas содержит два элемента, например, "Автомобили" и "avto.txt"; 
//улевой элемент можно вывести на экран.
?>

3) В том же цикле при каждой итерации смотрим, выбран ли данный раздел (как - не знаю, поскольку вы не указали способ выбора; скорее всего, какой-то $_GET параметр). Если пункт выбранный, то

<?php
while (!feof($string_mas[1]))//читаем файл avto.txt построчно
{
$link=fgets($string_mas[1]);//берем одну строку
echo $link."<br>";//выводим на экран
}
?>


Поправка: не понял. зачем во втором файле |email@email.ru - это к чему?

   
 
 автор: malishka   (19.08.2005 в 17:52)   письмо автору
 
   для: Киналь   (17.08.2005 в 16:23)
 

Почему выводится ошибка:

Notice: Undefined variable: cat

На этот код:

if($cat==$i){echo "|<i><a href=?cat=".$i.">".$title."</a></i>";}
else {echo "|<a href=?cat=".$i.">".$title."</a>"; }


|email@email.ru - для контакта, чтобы связаться с автором ссылки.

   
 
 автор: Киналь   (19.08.2005 в 18:51)   письмо автору
 
   для: malishka   (19.08.2005 в 17:52)
 

Ну, этот нотис означает, что переменная $cat не определена ранее. Посмотрите, откуда она берется. Если из GET-запроса, то впишите перед приведенной строкой кода следующее:

if (isset($_GET['cat']))
$cat=$_GET['cat'];
else
$cat='';

   
 
 автор: cheops   (19.08.2005 в 22:05)   письмо автору
 
   для: malishka   (19.08.2005 в 17:52)
 

Это говорит, о том, что уровень ошибок настроен на максимальный уровень, включающий вывод замечаний по кодированию - следует его понизить, как это делают на всех хостингах, выставив директиве error_reporting в конфигурационном файле php.ini значение
error_reporting = E_ALL & ~E_NOTICE

как это описывается в статье http://www.softtime.ru/info/articlephp.php?id_article=23

   
 
 автор: ВЛ   (18.08.2005 в 09:57)
 
   для: malishka   (17.08.2005 в 15:51)
 

Я думаю, вы знаете, но на всякий случай сообщу, что если ваш сайт на Народ.ру, то там php нет.

   
 
 автор: _Robot   (18.08.2005 в 21:48)   письмо автору
 
   для: malishka   (15.08.2005 в 19:56)
 

По моему использовать файлы для хранения ссылок не очень рационально, темболее когда есть разделы. Неудобно будет потом сортировать, разбивать на странцы, редактировать. Лучше и намного проще использовать БД...
В Бд нет ничего сложного! Но если всё таки хотите ломать голову то советую скачать ккой нибуть скрипт и настроить его по себя благо их щас куча...

   
 
 автор: Киналь   (18.08.2005 в 22:36)   письмо автору
 
   для: _Robot   (18.08.2005 в 21:48)
 

А вот качать чужие скрипты я бы точно не советовал - тогда нескоро сам научишься писать, ИМХО.

   
 
 автор: babilonian   (19.08.2005 в 03:11)   письмо автору
 
   для: _Robot   (18.08.2005 в 21:48)
 

А вот не скажи. У меня просто ГИГАНТСКИЙ раздел держиться на текстовых базах данных. Тут главное, принци понять, а там можно и весь каталог ссылок+разделы засадить в один текстовый файл, да к тому же еще и админитсрировать его через веб-интерфейс.
P.S. Сумел бы я научиться еще Mysql подключать, было бы намного веселее)))

   
Rambler's Top100
вверх

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