2009-12-23 51 views
0

就在我把代碼行放在讓我解釋我想要實現的東西之前。Mysql加入,PHP

我想查詢特定頁面具有特定parent_id的表。一旦我有了所有的結果,我就會喜歡帶有這個特定parent_id的頁面的id,並從另一個表中獲取它的所有相關頁面部分。

然後,我只是想在準備打印數組此信息...

任何幫助將不勝感激......

$q = $CONN->query("SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* FROM cms_page LEFT JOIN cms_page_part ON cms_page_part.page_id=cms_page.id WHERE cms_page.parent_id='8'"); 
+0

你的示例代碼目前在做什麼?有沒有錯誤,或者結果有點不對? – philfreo 2009-12-23 13:11:53

+0

它似乎列出了我擁有的四個投資組合,但似乎重複它們,可能是因爲頁面部件被不正確的連接添加了? – Andy 2009-12-23 13:12:39

回答

0

您可以發佈您查詢的結果?據我可以看到你的選擇語句應該做的重複每個匹配部分的cms_page.id等字段的技巧。

又見http://www.w3schools.com/Sql/sql_join_left.asp

這(我希望)應該解決您的$行[ 'page_part']問題:

$rows = array(); 
$result = mysql_query($sql); 
$row = mysql_fetch_assoc($result); 
while ($row) { 
    $rows[$row['title']][] = $row; // or select only the fields that you need 
    $row = mysql_fetch_assoc($result); 
} 

foreach($rows as $portfolio => $parts) { 
    // adjust for actual html rendering 
    echo '<pre>'; 
    print_r($portfolio); 
    echo "\n"; 
    $count = 0; 
    foreach($parts as $part) { 
    echo ++$count . ' - ' . $part['cms_page_part_field1'] . ' - ' . $part['cms_page_part_field2'] . "\n"; 
    } 
    echo '</pre>'; 
} 
+0

http://www.ldmgardendesign.com/portfolio.html – Andy 2009-12-23 13:25:11

+0

我希望頁面部分作爲四個投資組合之一的結果集而不作爲單個結果返回。 所以你有一個投資組合,然後關聯的頁面部件作爲一行。 – Andy 2009-12-23 13:26:33

+0

我只是重新閱讀您的文章,其幾乎就像我需要它的另一種方式....即每個cms_page.id – Andy 2009-12-23 13:31:47

0

應該有與檢索多行給你當前的查詢沒有問題:

$sql = "SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* 
FROM cms_page 
LEFT JOIN cms_page_part ON (cms_page_part.page_id = cms_page.id) 
WHERE cms_page.parent_id = '8'"; 

你想遍歷一個結果從mysql_query像這樣:

$result = mysql_query($sql); 
if ($result) { 
    // keep track of number of portfolio items 
    $i = 1; 
    // iterate over rows 
    while($row = mysql_fetch_assoc($result)) { 
     // output data to page for each row 
     echo 'Portfolio item ' . $i; 
     echo 'Title: ' . $row['title'] . '<br />'; 
     echo 'Slub: ' . $row['slug'] . '<br /><br />'; 
    } 
} 
+0

它的$ row ['page_part']這是一個棘手的位...這基本上是什麼編號喜歡能夠打印... – Andy 2009-12-23 14:05:33