dongzhang4301 2012-03-26 04:05
浏览 10
已采纳

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

I have a problem here I can't solve. I have a database of houses with country, location, price etc entities. I print only the countries in a table using: while ($data = mysql_fetch_array($select)) where $select is a query that selects specific data from the db. I want to display the full information of the selected db data on a different page i have created. The problem is that i don't know how to take the price of the data the user selected. When i get the price of the $_SESSION['counter'], its the number of the last entity of the db. . I don't want to use javascript etc. Here's the code of the page:

<?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>";
    ?>`
  • 写回答

2条回答 默认 最新

  • dongxiejie9387 2012-03-26 04:15
    关注

    Clarification: You can pass any value to house_profile.php by adding a ? to start the querystring, then the name of the variable and the value. If you want to pass the id to house_profile then the link should look like this.

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

    then in house_profile.php update your query like this

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

    Now only the entity they clicked will be available.

    FYI $counter is just the count, it's not necessarily the ID of the entity. e.g. if you delete ID 1 your records will start from ID 2 but counter will always start with 1. So to reference your entities correctly use the database ID.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)