2011-07-25 142 views
1

如何在PHP中創建簡單的博客文章功能?我有以下MySQL數據庫...簡單的博客文章功能

表博客: ID,名稱

表的帖子: 博主ID,發佈,時間戳

用簡單的英語我想顯示所有帖子博客的名字(通過將id與blogger id進行匹配)和時間戳,以及由時間戳排序的帖子具有最新的帖子。

我目前的努力選擇每一個嵌套在另一個不工作,我想我需要重新考慮整個方法。

+0

看起來像一個微不足道的任務,你到現在爲止做了什麼,可能是你想太複雜了 –

+0

這個任務不是真的博客文章,我簡化了它,因爲我正在使用的是同樣的原則。把它看作是一種簡單的飼料。 – Sebastian

+1

您確實似乎缺少post_id,可能還有parent_post_id用於縮進回覆 – Randy

回答

0

嘗試SQL:

select * from bloggers A, posts B WHERE A.bloggerid = B.bloggerid 
2

我建議你對SQL的基本知識,閱讀起來,因爲這看起來非常簡單:

SELECT 
    b.name, p.post, p.timestamp 
FROM 
    posts p 
INNER JOIN 
    bloggers b 
ON 
    p.blogger_id = b.id 
WHERE 
    b.blogger_id = :id 
ORDER BY 
    p.timestamp DESC 

請注意以上:id一部分是用在準備好的聲明,如下所述。

至於PHP函數,你應該使用PDO這個。

0

我可能不太明白你是如何組織的事情,但...

假設你可以通過選擇博客表,並得到你想要的,你可以做這樣的事情的ID得到作者的ID:

$result = mysql_query("SELECT * FROM posts WHERE blogger_id='" . $author_id . "' ORDER BY timestamp DESC") or die(mysql_error()); 

while($row = mysql_fetch_array($result)) { 
echo '<div class="post"><div class="time">' . $row['timestamp'] . '</div><div class="content">'. $row['post'] .'</div></div>'; 
} 
0

嘗試SQL:

select * from bloggers A, posts B WHERE A.bloggerid = B.bloggerid 

我建議你對SQL的基本知識,閱讀起來,因爲這看起來非常簡單:

SELECT 
    b.name, p.post, p.timestamp 
FROM 
    posts p 
INNER JOIN 
    bloggers b 
ON 
    p.blogger_id = b.id 
WHERE 
    b.blogger_id = :id 
ORDER BY 
    p.timestamp DESC 

請注意:上面的id部分用於準備好的語句中,如下所述。

至於PHP函數,你應該爲此使用PDO。

我可能不太明白你是如何組織的事情,但...

假設你可以通過選擇博客表並得到你想要的,你可以做這樣的事情的ID得到作者的ID:

$result = mysql_query("SELECT * FROM posts WHERE blogger_id='" . $author_id . "' ORDER BY timestamp DESC") or die(mysql_error()); 

while($row = mysql_fetch_array($result)) { 
echo '<div class="post"><div class="time">' . $row['timestamp'] . '</div><div class="content">'. $row['post'] .'</div></div>'; 
}