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

Форум PHP

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

 

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

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

тема: Как генерится линк?
 
 автор: Russel   (21.06.2006 в 17:29)   письмо автору
 
 

Понимаю, что вопрос очень просто но всё же очень хочется разобратся. Если линк http://www.exactly.ru/?page=114850,он конечно генерится.Как это осуществляется юзая БД и как генерится ссылки на любые страницы этого или любого сервака??Всё вроде просто но не могу найти примитивных примеров чтобы разобратся.Помогите плз

   
 
 автор: aexb   (21.06.2006 в 17:36)   письмо автору
 
   для: Russel   (21.06.2006 в 17:29)
 

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


<?
$name
=$_GET['name'];
echo 
"Меня зовут ".$name;
?>


Адресная строка при этом может выглядеть вот так:
www.mysite.ru/index.php?name=Vasia

Параметры из адресной строки попадают в суперглобальный массив $_GET. Соответственно, оттуда и вызываются.

Например, запрос в базу данных может выглядеть так:

Адресная строка: http://www.mysite.ru/index.php?page=news

Код:

<?
$page
=$_GET['page']
$sql=mysql_query("SELECT * FROM '".$page."'");
...
действия с получившимся запросом.
... 
?>


Надеюсь, хоть немного понятно :)

   
 
 автор: Russel   (21.06.2006 в 17:44)   письмо автору
 
   для: aexb   (21.06.2006 в 17:36)
 

Спасибо за скорый ответ,для меня важен именно 2-й пример, потому что мне сложно понять как генерится великое множество линков на форумах как на этом.как скрипт генерит гиперссылку имеено на этот топик.Когда я создаю топик он делает инсерт базу моих данных.А как он после этого генерит ссылку в общий список топиков?
Как сгенерить линк, имея данные полученые после селекта из БД?

   
 
 автор: aexb   (21.06.2006 в 17:51)   письмо автору
 
   для: Russel   (21.06.2006 в 17:44)
 

На форумах поступают приблизительно следующим образом (упрощенно, конечно):

Есть таблица с названием тем. Есть таблица с сообщениями (как правило, она общая и в нее кучей пишутся ВООБЩЕ ВСЕ сообщения форума). В этой таблице рядом с сообщением указан ID-номер темы (или название, но первый вариант работает безошибочно и лучше использовать его). Дальше - дело техники. В ссылку подставляется переменная, например, http://www.mysite.ru/index.php?topic_id=25 и, соответственно, скрипт генерит страницу, в которой из базы данных вытаскиваются только те сообщения, которым соответствует порядковый номер форума 25. И все :)

   
 
 автор: Russel   (21.06.2006 в 18:02)   письмо автору
 
   для: aexb   (21.06.2006 в 17:51)
 

а как сам скрипт знает что это ID именно 25?Он берёт последний ? Меня как раз интересует єто дело техники-" скрипт генерит страницу, в которой из базы данных вытаскиваются только те сообщения, которым соответствует порядковый номер форума 25" .Поподробней если можно:)

   
 
 автор: valenok   (21.06.2006 в 18:06)   письмо автору
 
   для: Russel   (21.06.2006 в 18:02)
 

?id_forum=1&id_theme=19586&page=1

   
 
 автор: Russel   (21.06.2006 в 18:09)   письмо автору
 
   для: Russel   (21.06.2006 в 18:02)
 

Скрипт ловит значение topic_id и на её основе строит "SELECT * from table where id='topic_id'"?Меня интересут не столько форумы ,сколько обычные сайты ,где ИД могут быть текстовыми

   
 
 автор: aexb   (21.06.2006 в 18:12)   письмо автору
 
   для: Russel   (21.06.2006 в 18:02)
 

Например, у нас в базе есть таблица, в которой всего две колонки: TOPIC_ID и TOPIC_NAME. Сначала мы делаем из нее выборку и генерим те самые ссылки. Вот так:


<?
$sql
=mysql_query("SELECT * FROM 'forum_topics'");
while (
$row=mysql_fetch_array($sql)) {
   
$topic_id=$row['TOPIC_ID'];
   
$topic_name=$row['TOPIC_NAME'];
   echo 
"<a href=\"http://www.mysite.com/index.php?topic_id=".$topic_id."\">".$topic_name."</a><br>";
}
?>


В итоге мы получаем список всех записей таблицы, в котором видимым (то, на что мы жмем) текстом ссылки служит название темы, а в самой ссылке (там, где href) мы получаем порядковый номер темы.

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

   
 
 автор: Russel   (21.06.2006 в 18:15)   письмо автору
 
   для: aexb   (21.06.2006 в 18:12)
 

Вот.Вот это то что мне нужно было.Спасибо огромное за подробные разъяснения:)

   
 
 автор: aexb   (21.06.2006 в 18:16)   письмо автору
 
   для: Russel   (21.06.2006 в 18:15)
 

Нема за що, сам когда-то долго догонял, а объяснить было некому))

   
 
 автор: Russel   (23.06.2006 в 09:34)   письмо автору
 
   для: aexb   (21.06.2006 в 18:16)
 

А если нужно сгенерить ссылку страницы на себя же???Как это слделать?:))

   
 
 автор: valenok   (23.06.2006 в 09:39)   письмо автору
 
   для: Russel   (23.06.2006 в 09:34)
 

Тоже самое только в таблице будет ваш порядковый номер и ваше имя.

   
 
 автор: Russel   (23.06.2006 в 10:02)   письмо автору
 
   для: valenok   (23.06.2006 в 09:39)
 

Не ну это понятно.В других языках знаю есть чтото типа модификатора this которі ена себя же и указывает.А я вот генерирую страницу и хочу сделать ссылку на с этой же страници на себя.Я понимаю что нужно сделать такую же выборку с базы,но как??

   
 
 автор: valenok   (23.06.2006 в 10:08)   письмо автору
 
   для: Russel   (23.06.2006 в 10:02)
 

А, всмысле ссылку на эту же страницу?

<A href="#">Link</A>

php знает имя файла в котором он исполняется, и эта информация находится в массиве $_SERVER.

В массиве сервер есть такой ключ php_self Тоесть сам пхп. Там и держитс яназвание исполняемого скрипта.
Таким образом ссылка может быть и такой:

<A href="<?=$_SERVER['PHP_SELF']?>">Link</A>

   
 
 автор: Russel   (23.06.2006 в 10:18)   письмо автору
 
   для: valenok   (23.06.2006 в 10:08)
 

Не совсем.Тут aexb (чуть выше написано) объяснял как сгенерить ссылки на странци записаные в базе а потом вывести ссылки по которым можно просмотреть эти же страници.А если это не массив,а конкретная страница ну или ссылка на себя.

   
 
 автор: valenok   (23.06.2006 в 10:24)   письмо автору
 
   для: Russel   (23.06.2006 в 10:18)
 

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

Если так то код aexb всё равно остаётся действительным..

   
 
 автор: Russel   (23.06.2006 в 10:50)   письмо автору
 
   для: valenok   (23.06.2006 в 10:24)
 

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

   
Rambler's Top100
вверх

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