2014-10-28 42 views
0

對PHP很新穎,沒有經驗,我被卡住了。

我有一個功能可以創建與主頁面相關的新子頁面,例如。主頁面1具有子頁面1a,1b和1c,並且主頁面2具有子頁面2a,2b,2c等等。您可以通過每個主頁上菜單中的鏈接訪問給定的子頁面。我希望你仍然和我在一起。

我已經成功地將菜單鏈接到其中一個創建的子頁面,但我現在需要的是每當創建一個新的子頁面時,都會在菜單中動態創建一個鏈接。主頁面和它們的「id」通過對應於彼此的列「mainid」連接到相關子頁面(例如,index.php?id = 5 & mainid = 5)

鏈接菜單通過使用$ _GET。

我有這個頁面:

<table width="90%" border="0" cellpadding="5"><tbody> 
<tr> 
    <td> 
    <?php 

    $id = $mysqli->query("SELECT id FROM page_content WHERE mainid =" . $_GET['mainid'])->fetch_object()->id; 
    $name = $mysqli->query("SELECT name FROM page_content WHERE mainid =" . $_GET['mainid'])->fetch_object()->name; 


    ?> 

    <a href="index.php?id=<?php echo $id; ?>&mainid=<?php echo $_GET['mainid']; ?>"> 

    <?php 

print $name; 

?></a></td> 
    <td>&nbsp;</td> 
</tr> 

這將創建一個:本地主機/網站/ index.php的ID = 1 & mainid = 1用下面的代碼,我很掙扎鏈接到子頁面的內容。此子頁面的內容存儲在ID = 10和mainid = 5(從而創建鏈接的index.php?ID = 10 & mainid = 5

到目前爲止一切順利。

但我怎麼得到到主網頁上動態創建的鏈接時,我創建屬於給定主頁新的子頁面?

幫助深表感謝

感謝

+1

你對SQL注入攻擊敞開的。不好。 – 2014-10-28 18:16:13

+0

基本上你想要的是基於數據庫的結果建立你的菜單。查詢數據庫並循環查看每個循環的菜單項。不幸的是,我總是與mysqli()進行鬥爭,因此與PDO()一起工作。所以我不能給你一個很好的答案/例子。 – icecub 2014-10-28 18:22:46

回答

0

我不知道你是綁到什麼做,但我想你想做e從數據庫中循環。

要做到這一點,你必須修改你的代碼,因爲現在不安全,而且不好。

使用這個來代替:

<table width="90%" border="0" cellpadding="5"><tbody> 
<tr> 
    <?php 
    /* create a prepared statement */ 
    $query = $mysqli->prepare("SELECT id,name FROM page_content WHERE mainid = ?"); 
    /* bind parameters */ 
    $query->bind_param("i", $_GET['mainid']); 
    $query->execute(); 

    $menu_result = $query->get_result(); 

    /* now you can fetch the results into an array */ 
    while ($menu = $menu_result->fetch_assoc()) { 
echo <<<HTML 
<td> 
    <a href="index.php?id={$menu['id']}&mainid={$_GET['mainid']}">{$menu['name']}</a> 
</td> 
<td>&nbsp;</td> 
HTML; 
    } 

    ?> 

</tr> 

    </tbody> 
    </table> 
+0

工作。它正是我所需要的:通過使用列id和mainid來獲取數據庫中創建的記錄的鏈接。謝謝一堆! – 2014-10-28 18:50:33