从点击的锚标签中获取变量
Grab variable from clicked anchor tag
我目前正在制作一个基本的内容管理系统。在这段代码中,我从数据库 'posts' 中获取了一个页面列表,然后将它们回显出来。该列表的目的是让用户能够 select 现有页面,然后编辑标题和内容,但是我不确定如何从 selected [=17] 中获取数据=] 然后让我的 page-edit.php 显示正确的内容以进行相应的编辑。我已将变量 $i 分配给每个锚标记,这些标记在整个 while 循环中递增,理想情况下我会使用 $i 来 SELECT 来自数据库的正确页面。我想避免使用 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文件
<?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; ?>
edit-data.php = 编辑页面 X
edit-data-two.php = 编辑页面 Y
在 while 循环中的 link 中使用 $i
作为 GET id
变量:
echo '<a href="edit-page.php?id=' . $i . '>' . $row['page_title'] . ' - ' . $i . '</a>' . '</br>';
然后您可以检查 $_GET['id']
以便您知道要编辑的 id/page 并从数据库中获取数据:
if (!empty($_GET['id'])) {
$query = 'SELECT * FROM pages WHERE id=' . $_GET['id'];
...
// Show the form populated with data from the above query.
}
为了让您入门,我一直保持简单。
别忘了研究防范 SQL Injection and moving away from the deprecated MySQL API to use the MySQLi API or MySQL PDO。
我目前正在制作一个基本的内容管理系统。在这段代码中,我从数据库 'posts' 中获取了一个页面列表,然后将它们回显出来。该列表的目的是让用户能够 select 现有页面,然后编辑标题和内容,但是我不确定如何从 selected [=17] 中获取数据=] 然后让我的 page-edit.php 显示正确的内容以进行相应的编辑。我已将变量 $i 分配给每个锚标记,这些标记在整个 while 循环中递增,理想情况下我会使用 $i 来 SELECT 来自数据库的正确页面。我想避免使用 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文件
<?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; ?>
edit-data.php = 编辑页面 X
edit-data-two.php = 编辑页面 Y
在 while 循环中的 link 中使用 $i
作为 GET id
变量:
echo '<a href="edit-page.php?id=' . $i . '>' . $row['page_title'] . ' - ' . $i . '</a>' . '</br>';
然后您可以检查 $_GET['id']
以便您知道要编辑的 id/page 并从数据库中获取数据:
if (!empty($_GET['id'])) {
$query = 'SELECT * FROM pages WHERE id=' . $_GET['id'];
...
// Show the form populated with data from the above query.
}
为了让您入门,我一直保持简单。
别忘了研究防范 SQL Injection and moving away from the deprecated MySQL API to use the MySQLi API or MySQL PDO。