PHP通过href传递变量id

PHP通过href传递变量id,php,Php,我想有一个链接到另一个网页,与特定的主题,我如何才能传递id <table class="table table-hover"> <thead> <tr> <th>Subject</th> <th>Add Topic</th> </tr> </thead> <tbody>

我想有一个链接到另一个网页,与特定的主题,我如何才能传递id

<table class="table table-hover">
    <thead>
        <tr>
            <th>Subject</th>
            <th>Add Topic</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <?php foreach($subjects as $sub):?>
            <td><?php echo $sub->subject;?></td>
            <td><a href='approve.php?id=".$sub->id."' role="button" class="btn">Add Topic</a></td>
        </tr>
        <?php endforeach;?>
    </tbody>
</table>

主题
添加主题

是的,您可以,它将被视为GET。至于如何通过它。 编辑以下内容:

 <td><a href='approve.php?id=<?=$sub->id?> ' role="button" class="btn">Add Topic</a></td>
<table class="table table-hover">

    <thead>
    <tr>
        <th>Subject</th>
        <th>Add Topic</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach($subjects as $sub):?>
    <tr>


        <td><?php echo $sub->subject;?></td>
        <td><a href='approve.php?id=<?php echo $sub->id; ?>' role="button" class="btn">Add Topic</a></td>

    </tr>
    <?php endforeach;?>
    </tbody>
</table>

这部分是:

 <?=$sub->id?>


您在开始添加html时关闭了php标记,因此再次打开它以响应php变量

你仍然需要把它重复出来

<?php foreach($subjects as $sub): ?>
    <tr>
    <td><?php echo $sub->subject ?></td>
    <td><a href="approve.php?id=<?php echo $sub->id ?>" role="button" class="btn">Add Topic</a></td>
    </tr>
<?php endforeach; ?>

请尝试以下操作:

 <td><a href='approve.php?id=<?=$sub->id?> ' role="button" class="btn">Add Topic</a></td>
<table class="table table-hover">

    <thead>
    <tr>
        <th>Subject</th>
        <th>Add Topic</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach($subjects as $sub):?>
    <tr>


        <td><?php echo $sub->subject;?></td>
        <td><a href='approve.php?id=<?php echo $sub->id; ?>' role="button" class="btn">Add Topic</a></td>

    </tr>
    <?php endforeach;?>
    </tbody>
</table>

主题
添加主题
然后在页面上:approve.php

<?php
$subjectId  = $_GET['id'];
?>

$subjectId
将为您提供相应的主题id,您可以使用该id继续使用该功能


注意:foreach应该在
外部开始,在
外部结束,或者可以在

内部。您需要将变量包含在PHP标记中:

<?php foreach($subjects as $sub):?>
  <tr>
     <td><?php echo $sub->subject;?></td>
     <td><a href='approve.php?id=<?php echo $sub->id ?>' role="button" class="btn">Add Topic</a></td>

   </tr>
<?php endforeach;?>
如果要将此值传递给数据库,则应执行一些验证:

if ($_GET['id']) { // check parameter was passed
  $subject = int_val($_GET['id']) // cast whatever was passed to integer
} else {
  // handle no subject case
}

您需要查看$\u GET和$\u POST。我建议不要使用超链接和获取方法请求来更改服务器的状态。我错误地按了enter键:(通过点击回车,表单不会提交!@GordonM好吧,现在我的完整答案就在那里。为什么我仍然是-1?不会重复$sub->idany的值如何在urluse base64_encode、crypt或php中的任何其他编码函数中隐藏id