0

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

我有一个名为 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-value 的值。此外,我需要写出该公寓的地址(db 列“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 的模态。)

4

1 回答 1

1

首先,您的 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 注入攻击。如果您有更多问题,请进一步询问

于 2013-08-16T19:00:53.060 回答