PHP为网站创建标记系统

时间:2011-07-28 20:09:08

标签: php database random web

我正在使用PHP为网站创建标记系统。我创建了3个表:一个用于文章(表名:文章,行:id,标题,别名),一个用于标签(名称:tag_content,行:id,名称,链接),另一个用于分配文章标签(名称:tag_art ,rows:id_tag,id_arty;例如:4篇文章,具有不同的id,所有一个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 个答案:

答案 0 :(得分:2)

  1. 随机查询

    SELECT列FROM表 兰德令() 限制4

  2. 您可以随意设置限制 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"];
    }
    
    }
    
    ?>
    

    &GT;