php - 根据用户选择在页面上包含不同的 mysql 数据

标签 php mysql forms session get

我这里有一个我无法解决的问题。我有一个包含国家、位置、价格等实体的房屋数据库。我使用以下方法仅打印表格中的国家/地区: while ($data = mysql_fetch_array($select)) 其中 $select 是从数据库中选择特定数据的查询。我想在我创建的不同页面上显示所选数据库数据的完整信息。问题是我不知道如何获取用户选择的数据的价格。当我得到 $_SESSION['counter'] 的价格时,它是数据库最后一个实体的编号。 .我不想使用 javascript 等。这是页面的代码:

<?php
require_once 'php/core.php';    // opens the database
require_once 'php/openDB.php';  // starts the new session


$select = mysql_query("SELECT ID, Country, City FROM Houses");
$counter = 1;

echo "<form action='house_profile.php' method='get'> 
    <table width='400'>
    <tr>
    <td>No.</td>
    <td>Country</td>
    <td>City</td>";
    echo "<tr>";

while ($data = mysql_fetch_array($select))
{
    echo "<tr>";
    echo "<td>" . $counter . "</td>";
    echo "<td>" . $data['Country'] . "</td>";
//  echo "<td>" . "<a href='house_profile.php' type='submit' value='$counter'>" . $data['City'] . "</a>" . "</td>";
    echo "<td>" . $data['City'] . "</td>";
    echo "<td><input type='submit' value='info' name='" . $counter . "'></td>";
    echo "</tr>";
    $_SESSION['counter'] = $counter;
    $counter++;
}
echo "</table>
    </form>";
    ?>`

最佳答案

澄清: 您可以通过添加 ? 将任何值传递给 house_profile.php开始查询字符串,然后是变量的名称和值。如果您想将 id 传递给 house_profile,则链接应如下所示。

    "<a href='house_profile.php?ID=" . $data['ID'] . "'>"

然后在 house_profile.php 中像这样更新您的查询

    $select = mysql_query("SELECT * FROM Houses where ID = " . $_GET['ID']);

现在只有他们点击的实体可用。

仅供引用 $counter 只是计数,不一定是实体的 ID。例如如果您删除 ID 1,您的记录将从 ID 2 开始,但计数器将始终从 1 开始。因此要正确引用您的实体,请使用数据库 ID。

关于php - 根据用户选择在页面上包含不同的 mysql 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866467/

相关文章:

mysql - 带有可定制 View 的 Sql Join

c# - 此 PHP 代码的等效 C#

html - 如何使文本溢出到文本输入的左侧?

html - Google Chrome HTML 表单选择

php - 查找每小时的行数

php - 密码恢复失败后的成功消息

php MySql 错误为 null

php - 使用 PHP 更新库存数量

php - 如何从每组中选择最新的一个? (尝试选择每个人的最新消息并将其链接到对话)

html - 多个 5 星评论行 HTML CSS