【问题标题】:Need help on updating a data on a database table using facebox在使用 Facebook 更新数据库表上的数据时需要帮助
【发布时间】:2016-04-27 11:54:20
【问题描述】:

大家好。正如标题所说,我在更新数据时需要有关 Facebook 的帮助。

这里是显示facebox的按钮代码

echo '
        td>
            <a  rel="facebox" href="../admin/c_status.php?id='.$row["userID"].'">Edit</a>
        </td>
    ';

这是facebox里面的代码

 <?php
include("../db/dbCon.php");
//$id = $_GET['id'];
//echo $id;
?>

Status
<form method="post">
    <select name="selActive" id ="selActive">
        <option value="ACTIVE">ACTIVE</option>
        <option value="IN-ACTIVE">IN-ACTIVE</option>
        <option value="GRADUATE">GRADUATE</option>
    </select>
    <br>
    <br>

    <button class="btn btn-success btn-block btn-large" name="saveChangeButton" id ="saveChangeButton">Save Changes</button>
</form>

<?php
    if(isset($_POST['saveChangeButton'])){
        $id = $_GET['id'];
        $status = $_POST['selActive'];

        $cStatus = $conn->prepare("UPDATE useraccount SET status = :status WHERE userID = :userID");
        $cStatus->bindParam(':status', $status);
        $cStatus->bindParam(':userID', $id);
        $cStatus->execute();
    }
?>

我遇到的问题是当我通过“http://localhost/ict/admin/c_status.php”之类的地址栏进行编辑时,单击编辑按钮不会更新数据。它会起作用的。

【问题讨论】:

  • 我已经更新了我的答案,请检查。

标签: php facebox


【解决方案1】:

您可以隐藏输入类型并使其值等于$_GET['id']

   <form method="post">
        <select name="selActive" id ="selActive">
            <option value="ACTIVE">ACTIVE</option>
            <option value="IN-ACTIVE">IN-ACTIVE</option>
            <option value="GRADUATE">GRADUATE</option>
        </select>

        <input type="hidden" name="userid" value="<?php echo $_GET['id'];?>">
        <br>
        <br>

        <button class="btn btn-success btn-block btn-large" name="saveChangeButton" id ="saveChangeButton">Save Changes</button>
    </form>

然后将您的 php 代码传输到您的链接下方或上方来更新用​​户帐户。当您使用 Facebook 时,您打开的表单成为该文件的一部分,因此将您的 php 代码传输到此处更新帐户是合乎逻辑的,因为您没有指定上面表单的action属性。

   echo '<td>
            <a  rel="facebox" href="../admin/c_status.php?id='.$row["userID"].'">Edit</a>
        </td>';
    include("../db/dbCon.php");
    if(isset($_POST['saveChangeButton'])){
        $id = $_POST['userid'];
        $status = $_POST['selActive'];

        $cStatus = $conn->prepare("UPDATE useraccount SET status = :status WHERE userID = :userID");
        $cStatus->bindParam(':status', $status);
        $cStatus->bindParam(':userID', $id);
        $cStatus->execute();
    }

希望有帮助

【讨论】:

  • 感谢您的回复!我编辑我的帖子...我更正了关于 的代码,它位于 php 代码中。我复制代码并应用到我的,但它不起作用。
  • 还有其他方法吗?因为不需要为了编辑状态而打开一个新页面,而是会弹出一个框。
  • 我没有注意到您编辑了您的帖子...现在它正在工作...我所需要的只是输入一个代码,该代码将在该过程完成后刷新页面...非常感谢!
  • 您是否介意接受我的回答,因为它对您有帮助:)
  • 怎么样?对不起...我还是stackoverflow的新手...我只需单击朝上的箭头按钮...就足够了吗? :)
猜你喜欢
  • 2017-11-17
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多