gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 13:39:30 25 4
gpt4 key购买 nike

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

我有一个名为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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com