2011-07-28 13 views
1

私はPHPでウェブサイトのタグシステムを作成しています。記事(テーブル名:記事、行:ID、タイトル、エイリアス)、タグ(名前:tag_content、行:ID、名前、リンク)と記事の割り当てタグ(name:tag_art)の3つのテーブルを作成しました。 、行:id_tag、id_arty;例:記事が4つ、異なるidを持つもの、すべてが1つのid_tagを持つもの2)。すべてのスクリプトが完了しているので、記事、タグを追加し、記事にタグを割り当てることができます。私は結果リンクを表示するためのスクリプトも書いています:PHPウェブサイトのタグシステムを作成する

$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つのタグに割り当てられている)を持つすべての記事を表示します。どうやってするの?

Thxヘルプ。十分な情報(コードなど)を入れていない場合は、教えてください。

+0

ポイント2のための私の更新の答えを参照してください –

答えて

2
  1. RAND(BY表 ORDER FROM

    ランダムSELECT列のクエリ) 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>"; 
} 
を好きな制限を設定することができます

create 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"]; 
} 

} 

?> 

?>

関連する問題