Php 从单击的锚标记抓取变量

Php 从单击的锚标记抓取变量,php,jquery,html,sql,Php,Jquery,Html,Sql,我目前正在制作一个基本的内容管理系统。在这段代码中,我从数据库“posts”中抓取一个页面列表,然后将它们呼出。列表的目的是让用户能够选择现有页面,然后编辑标题和内容,但是我不确定如何从所选链接获取数据,然后使我的page-edit.php显示正确的内容进行相应编辑。我已经将变量$I分配给每个锚点标记,它们在while循环中递增,理想情况下,我会使用$I从数据库中选择正确的页面。我希望避免使用jQuery,尽管我假设这是建议的。任何洞察都会很好,提前谢谢 <?php $co

我目前正在制作一个基本的内容管理系统。在这段代码中,我从数据库“posts”中抓取一个页面列表,然后将它们呼出。列表的目的是让用户能够选择现有页面,然后编辑标题和内容,但是我不确定如何从所选链接获取数据,然后使我的page-edit.php显示正确的内容进行相应编辑。我已经将变量$I分配给每个锚点标记,它们在while循环中递增,理想情况下,我会使用$I从数据库中选择正确的页面。我希望避免使用jQuery,尽管我假设这是建议的。任何洞察都会很好,提前谢谢

<?php
        $connection = mysql_connect('localhost', 'root', 'root');
        mysql_select_db('posts');
        $query = "SELECT * FROM pages";
        $result = mysql_query($query);
        $i = 0;
        while($row = mysql_fetch_array($result)){
            $i++;
            echo '<a href="edit-page.php">' . $row['page_title'] . ' - ' . $i . '</a>' . '</br>';
        }
        mysql_close();
?>

使用此方法,您需要为每个页面创建一个编辑页面

主php文件

<?php $db = mysqli_connect("localhost","user","pass","name");
foreach($this->db->query("SELECT * FROM pages") as $row): ?>
    <a onclick="loadPage(<?php echo $row['id']; ?>)">
        <?php echo $row['page_title']; ?>
    </a>
<?php endforeach; ?>

<script>
   function loadPage(id){
      $.get('handler.php', { param: id })
         .done(function (loaded){
              document.getElementById("example").innerHTML = loaded;
         });
   }
</script>
<?php if(isset($_GET['param'])):
   foreach($this->db->query("SELECT * FROM pages") as $row):
      catch($_GET['param']){
          case 1:
              require_once 'edit-data.php';
              break;
          case 2:
              require_once 'edit-data-two.php';
              break;
          default:
              break;
      }
   endforeach; ?>


$i
用作while循环内链接中的GET
id
变量:

echo'.'
'

然后,您可以检查
$\u GET['id']
,以便知道要编辑的id/页面,并从数据库中获取该id/页面的数据:

if (!empty($_GET['id'])) {
  $query = 'SELECT * FROM pages WHERE id=' . $_GET['id'];
  ...
  // Show the form populated with data from the above query.
}
我一直很简单,让你开始


不要忘了研究如何保护和远离不推荐的MySQL API以使用or。

为什么不将其用作锚定标记中的GET变量:
echo'您好,感谢您如此迅速地响应!你能给我一些关于我将如何做这件事的进一步见解吗?@Egg提出了一个很好的建议!还有Leon,你确定要创建自己的CMS吗?我看不出有什么真正的理由这样做(除非这是一个培训练习)。在page-edit.php上,我会从页面URL中获取id($I)吗?@MatthewLymer这是我在搜索Stack和其他网站后看到的最好的主意。我知道Wordpress和其他CMS非常灵活,而且由于其开发团队的规模而无法被打败,但我这样做主要是为了提高我对PHP和SQL的了解。此外,我很想有一个白色标签的CMS用于小客户项目。我还没有打算使CMS安全/黑客证明,因为我目前正在学习许多SQL和PHP的基础知识,但是如果我计划在任何网站上使用CMS,我会把所有这些都记在心里。