|
|
|
| Понимаю, что вопрос очень просто но всё же очень хочется разобратся. Если линк http://www.exactly.ru/?page=114850,он конечно генерится.Как это осуществляется юзая БД и как генерится ссылки на любые страницы этого или любого сервака??Всё вроде просто но не могу найти примитивных примеров чтобы разобратся.Помогите плз | |
|
|
|
|
|
|
|
для: 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."'");
...
действия с получившимся запросом.
...
?>
|
Надеюсь, хоть немного понятно :) | |
|
|
|
|
|
|
|
для: aexb
(21.06.2006 в 17:36)
| | Спасибо за скорый ответ,для меня важен именно 2-й пример, потому что мне сложно понять как генерится великое множество линков на форумах как на этом.как скрипт генерит гиперссылку имеено на этот топик.Когда я создаю топик он делает инсерт базу моих данных.А как он после этого генерит ссылку в общий список топиков?
Как сгенерить линк, имея данные полученые после селекта из БД? | |
|
|
|
|
|
|
|
для: Russel
(21.06.2006 в 17:44)
| | На форумах поступают приблизительно следующим образом (упрощенно, конечно):
Есть таблица с названием тем. Есть таблица с сообщениями (как правило, она общая и в нее кучей пишутся ВООБЩЕ ВСЕ сообщения форума). В этой таблице рядом с сообщением указан ID-номер темы (или название, но первый вариант работает безошибочно и лучше использовать его). Дальше - дело техники. В ссылку подставляется переменная, например, http://www.mysite.ru/index.php?topic_id=25 и, соответственно, скрипт генерит страницу, в которой из базы данных вытаскиваются только те сообщения, которым соответствует порядковый номер форума 25. И все :) | |
|
|
|
|
|
|
|
для: aexb
(21.06.2006 в 17:51)
| | а как сам скрипт знает что это ID именно 25?Он берёт последний ? Меня как раз интересует єто дело техники-" скрипт генерит страницу, в которой из базы данных вытаскиваются только те сообщения, которым соответствует порядковый номер форума 25" .Поподробней если можно:) | |
|
|
|
|
|
|
|
для: Russel
(21.06.2006 в 18:02)
| | ?id_forum=1&id_theme=19586&page=1 | |
|
|
|
|
|
|
|
для: Russel
(21.06.2006 в 18:02)
| | Скрипт ловит значение topic_id и на её основе строит "SELECT * from table where id='topic_id'"?Меня интересут не столько форумы ,сколько обычные сайты ,где ИД могут быть текстовыми | |
|
|
|
|
|
|
|
для: 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) мы получаем порядковый номер темы.
Не имеет значения, форум у нас или просто сайт. Основа в том, что сначала нам надо получить идентификатор (который в случае базы данных, как правило, является самовозрастающим и получается каждый раз при создании новой записи в таблице), а потом этот самый идентификатор использовать в качестве параметра для ссылки и скрипта, на который она ведет. | |
|
|
|
|
|
|
|
для: aexb
(21.06.2006 в 18:12)
| | Вот.Вот это то что мне нужно было.Спасибо огромное за подробные разъяснения:) | |
|
|
|
|
|
|
|
для: Russel
(21.06.2006 в 18:15)
| | Нема за що, сам когда-то долго догонял, а объяснить было некому)) | |
|
|
|
|
|
|
|
для: aexb
(21.06.2006 в 18:16)
| | А если нужно сгенерить ссылку страницы на себя же???Как это слделать?:)) | |
|
|
|
|
|
|
|
для: Russel
(23.06.2006 в 09:34)
| | Тоже самое только в таблице будет ваш порядковый номер и ваше имя. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 09:39)
| | Не ну это понятно.В других языках знаю есть чтото типа модификатора this которі ена себя же и указывает.А я вот генерирую страницу и хочу сделать ссылку на с этой же страници на себя.Я понимаю что нужно сделать такую же выборку с базы,но как?? | |
|
|
|
|
|
|
|
для: Russel
(23.06.2006 в 10:02)
| | А, всмысле ссылку на эту же страницу?
php знает имя файла в котором он исполняется, и эта информация находится в массиве $_SERVER.
В массиве сервер есть такой ключ php_self Тоесть сам пхп. Там и держитс яназвание исполняемого скрипта.
Таким образом ссылка может быть и такой:
<A href="<?=$_SERVER['PHP_SELF']?>">Link</A>
|
| |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:08)
| | Не совсем.Тут aexb (чуть выше написано) объяснял как сгенерить ссылки на странци записаные в базе а потом вывести ссылки по которым можно просмотреть эти же страници.А если это не массив,а конкретная страница ну или ссылка на себя. | |
|
|
|
|
|
|
|
для: Russel
(23.06.2006 в 10:18)
| | Почитал я aexb.
Теперь твой вопрос заключается в том если ссылка указывает на ту же страницу где вы сейчас и находитесь?
Если так то код aexb всё равно остаётся действительным.. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:24)
| | Мне просто хочется увидеть побольше разнообразных примеров вот такой генерации ссылок при общении с базой,вот поэторму и задаю такие,может быть, глупые вопросы.. Мож есть ссылочка на чтото такое,а то погуглить не получается удачно:(( | |
|
|
|