我有一些參考文獻的記錄。參考文獻可能是類型的文章,書籍,論文等等。每個可能具有不同的屬性,例如 。如何從另一個表中排序的mysql表中獲取值?
//article_refs table
ID Article_ID Article_Title Author_Name ...
1 1 title1 author1
2 1 title2 author2
//thesis_refs table
ID Article_ID Thesis_Title Thesis_Publisher ...
1 1 thesis1 publisher1
2 1 thesis2 publisher2
//ref_types table
ID Article_ID ReferenceType
1 1 book
2 1 article
3 1 article
4 1 book
當我插入到其中一個表中時,我首先進入類型爲(書,文章)的ref_type表。然後插入它所屬的表。 (例如,如果它是一篇文章,插入到文章表中)。
現在,我必須能夠按順序列出參考。
$sql=mysql_query("SELECT * FROM ref_types
WHERE $article_ID=Article_ID ORDER BY ID ASC");
while($row = mysql_fetch_array($sql)){
$counter=1;
if($row[2]=="thesis"){
$sqlthesis=mysql_query("SELECT * FROM thesis_refs
WHERE $article_ID=Article_ID
ORDER BY ID ASC");
while($thesis_row = mysql_fetch_array($sqlthesis)){
echo "record $counter: ";
echo $row[2];
echo ", ";
echo $thesis_row[2];
echo "<BR>";
$counter++
}
}elseif.....
這種方式,列出了所有的論文記錄然後列出文章表等。
record 1: book1
record 2: book2
record 3: article1
record 4: article2
我知道這是僅僅是因爲while
循環,但如何得到這個(與ref_types表順序相同。 。)?
record 1: book1
record 2: article1
record 3: article2
record 4: book2
任何幫助表示讚賞。 在此先感謝..
請出示ref_thesis表也和表格之間的關鍵關係。 – 2012-03-08 14:05:35
嗨馬庫斯,它具有與上述相同的結構,文章和書桌.. 我編輯了這個問題.. – teutara 2012-03-08 14:07:29
我明白了。然後我會解決你的錯別字。 – 2012-03-08 14:21:54