根据用户选择在页面上包含不同的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>";
    ?>`

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.

Your query retrieves each house's ID from the database but doesn't display this (unless I don't understand your code). When the user chooses a house, you have to retrieve the ID and then use this in a separate query, such as

select price
from houses
where id = :ID

Currently you're displaying a line counter on your form as opposed to the house's ID - which explains why you write...

When i get the price of the $_SESSION['counter'], its the number of the last entity of the db.

You're passing the value of the row counter to the second query instead of the house's ID.