用$ _GET重复链接

时间:2014-10-28 18:14:28

标签: php select mysqli href

相当新的,没有经验的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>&nbsp;</td>
</tr>

这将创建指向子页面内容的链接。该子页面的内容存储在id = 10和mainid = 5中(因此创建链接index.php?id = 10&amp; mainid = 5

到目前为止一切顺利。

但是,每当我创建属于该给定主页的新子页面时,如何在主页面上动态创建链接?

非常感谢帮助

由于

1 个答案:

答案 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>&nbsp;</td>
HTML;
  }

   ?>

</tr>

   </tbody>
    </table>