我很难提出这个问题,所以它是可以理解的,但这里是。
我有一个名为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/