php - 如何将动态数据库值从一个html元素连接到另一个?

标签 php mysql database zurb-foundation

我很难提出这个问题,所以它是可以理解的,但这里是。

我有一个名为apartments.php 的页面。在此页面上,我列出了数据库中您可以表现出租赁兴趣的公寓的一些行。 公寓打印出来是这样的:

<?php               
   foreach ($apartments as $apartment) { ?>
     <tr>
        <td><?php echo $apartment['apartments_room'] ?></td>
        <td><?php echo $apartment['apartments_area'] ?></td>
        <td><?php echo $apartment['apartments_rent'] ?></td>
        <td><?php echo $apartment['apartments_address'] ?></td>
        <td><?php echo $apartment['apartments_floor'] ?></td>
        <td><?php echo $apartment['apartments_city'] ?></td>
        <td><?php echo $apartment['apartments_freeFromDate'] ?></td>
        <td><a href="#" data-reveal-id="<?php echo $apartment['apartments_id'] ?>" name="id" class="button">Apply!</a></td>
     </tr>
<?php } ?>

每套打印出来的公寓都有自己的按钮。当您按下此按钮时,将显示模式/弹出窗口。 这就是我的问题。

当模式弹出时,我希望它显示我按下按钮的公寓信息。 因此,按钮中的 data-reveal-id 值(代表特定公寓的 db-id)是我需要进入模态 div id 值的值。此外,我需要写出该公寓的地址(数据库列“apartments_address”)。

所以这就是我需要的:

<div id="HERE I NEED TO GET THAT ID" class="reveal-modal">
    <h2>AND HERE I NEED TO PRINT OUT THE NAME OF THE ADDRESS</h2>

    // Here i make room for an application form, but that's irrelevant...
</div>

这应该不是什么难事吧?我希望你能帮助我。谢谢!

(如果需要了解更多详细信息,我正在使用 Foundation Zurb 4 的模式。)

最佳答案

首先,您的 html 未链接到新页面:

<a href="#" id="<?php echo $apartment['apartments_id'] ?>">

这可能看起来像这样:

<a href="streetEdit.php?id=<?php echo $apartment['apartments_id'] ?>">

然后您可以创建一个名为 streetEdit.php 的新 php 页面 在该页面中,您可以从数据库中选择适当的行

$sql = "select * from myApartmentsTable where id = {$_GET['id']}";

看看上面 URL 中传递的 ID 如何显示在 $_GET 中?

接下来,使用sql进行查询并将其输出到页面上。

里面你需要一个 html 表单。使用隐藏输入来跟踪您正在编辑的 ID:

<form method="POST" action="updateStreet.php">
    <input type="hidden" name="id" value="<?php echo $apartment['apartments_id'] ?>">
    <input type="text" name="streetName" value="<?php echo $apartment['streetName'] ?>"
    <input type="submit">
</form>

然后你需要编写updateStreet.php。由于表单已发布,您将使用 $_POST 而不是 $_GET

$id = $_POST['id'];
$streetName = $_POST['streetName'];

注意,您应该使用 PDO 进行 sql 查询

$sql = "update apartments set streetName = :name where id = :id";

$pdo = new PDO();

$stmt = $pdo->prepareStatement($sql);
$stmt->bindParam(':name', $streetName );
$stmt->bindParam(':id', $id);

http://php.net/manual/en/pdo.prepared-statements.php

这将防止 SQL 注入(inject)攻击。如果您有更多问题,请进一步询问

关于php - 如何将动态数据库值从一个html元素连接到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18279897/

相关文章:

php - 删除sql表数据然后插入多个可变数量的行

mysql - 我可以开始记录应用程序发起的 SQL 查询,以便了解它在做什么吗?

mysql - 从 mySQL 数据库设计表

mysql - MySQL 的性能工具

php - 如何使用php和android将多张图像上传到服务器(mysql数据库)

javascript - reCAPTCHA 和 JS 表单验证

javascript - 无法使用 PHP JSON 在 Javascript 中以 fullcalendar 显示来自 MySQL 的事件

mysql - Visual Studio/Visual Studio 2017 数据源向导的 MySQL 问题。你调用的对象是空的

php - 编写用于 iPhone、Android 和 Windows Phone 应用程序的 SOAP 与 RESTFUL Web 服务

php - ajax 喜欢/不喜欢按钮不切换回来