PHP Создание системы тегов для сайта - PullRequest
1 голос
/ 29 июля 2011

Я создаю систему тегов для сайта на PHP.Я создал 3 таблицы: одну для статей (имя таблицы: статья, строки: идентификатор, заголовок, псевдоним), одну для тегов (имя: тег_контента, строки: идентификатор, имя, ссылка) и одну для назначения тега для статей (имя: тег_арт, строки: id_tag, id_arty, например: 4 статьи, с разными идентификаторами, все с одним id_tag, равным 2).Все сценарии выполнены, поэтому я могу добавлять статьи, теги и назначать теги статьям.Я также написал скрипт для отображения ссылки на результат:

$zmienna = "SELECT name, link FROM tag_content";
$result2 = mysql_query($zmienna);
echo $result2;
while($row=mysql_fetch_array($result2)){
    echo "<a href='http://www.somelink.xx/tag/".$row['link']."'>".$row['name']."</a><br>";
}

И он показывает все созданные ссылки (теги).1. Теперь я хочу взять не все теги, а случайные из базы данных и отобразить их (так что это должно быть более естественным).Как это сделать?2. После нажатия на ссылку / тег я хочу отобразить все статьи с одинаковым id_tag ​​(назначенным одному тегу).Как это сделать?

Спасибо за помощь.Если я не поместил достаточно информации (код и т. Д.), Дайте мне знать.

1 Ответ

2 голосов
/ 29 июля 2011
  1. запрос случайный

    ВЫБРАТЬ столбец ИЗ таблицы ЗАКАЗАТЬ ПО RAND () LIMIT 4

вы можете установить предел, что вы хотите 2.

while($row=mysql_fetch_array($result2)){
    echo "<a href='http://www.somelink.xx/tag.php?tag=".$row['link']."'>".$row['name']."</a><br>";
}

создать файл tag.php:

<?php

if($_GET['tag']){
$qr= sprintf("SELECT articles.id,articles.title FROM articles JOIN tag_art on articles.id=tag_art.id_arty JOIN tag_content on tag_content.id=tag_art.id_tag where tag_content.name='%s'",$_GET['tag']);
$rez= mysql_query($qr);

while($row=mysql_fetch_array($rez)){
    echo $row["id"].$row["title"];
}

}

?>

?>

...