相当新的,没有经验的PHP,我被卡住了。
我有一个功能,可以创建一个与主页面相关的新子页面,例如。主页面1具有子页面1a,1b和1c,主页面2具有子页面2a,2b,2c等。您可以通过每个主页上菜单中的链接访问给定的子页面。我希望你在这里和我在一起。
我已成功将菜单链接到其中一个已创建的子页面,但我现在需要的是在创建新子页面时在菜单中动态创建链接。主页面及其“id”通过相互对应的“mainid”列连接到相关的子页面(例如index.php?id = 5& mainid = 5)
使用$ _GET。
创建链接菜单我有这个页面:localhost / site / index.php?id = 1& mainid = 1以及我正在努力的以下代码:
<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> </td>
</tr>
这将创建指向子页面内容的链接。该子页面的内容存储在id = 10和mainid = 5中(因此创建链接index.php?id = 10&amp; mainid = 5
到目前为止一切顺利。
但是,每当我创建属于该给定主页的新子页面时,如何在主页面上动态创建链接?
非常感谢帮助
由于
答案 0 :(得分:0)
我不确定你要做什么,但我想你想从数据库做一个循环。
要做到这一点,你必须修改你的代码,因为现在不安全,而且不好。
改为使用这个:
<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> </td>
HTML;
}
?>
</tr>
</tbody>
</table>