2012-03-26 76 views
1

我在這裏有一個問題,我無法解決。我有一個與國家,地點,價格等實體的房屋數據庫。我僅使用以下格式打印表格中的國家: while ($data = mysql_fetch_array($select)) 其中$ select是從db中選擇特定數據的查詢。我想在所創建的不同頁面上顯示所選數據庫數據的完整信息。問題是我不知道如何獲取用戶選擇的數據的價格。當我得到$_SESSION['counter']的價格時,其數據庫的最後一個實體的數量。 。我不想使用JavaScript等這裏的頁面代碼:根據用戶的選擇在頁面中包含不同的mysql數據

<?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>"; 
    ?>` 

回答

0

澄清: 您可以通過添加一個?來傳遞任何值給house_profile.php。啓動querystring,然後是變量的名稱和值。如果您想將id傳遞給house_profile,那麼鏈接應該看起來像這樣。

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

然後house_profile.php更新您的查詢像他們點擊將在今年

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

現在只有實體。

FYI $計數器只是計數,它不一定是實體的ID。例如如果刪除ID 1,則記錄將從ID 2開始,但計數器始終始於1.因此,要正確引用實體,請使用數據庫ID。

+0

我可以看到同樣的問題仍然存在。我的問題是,每當用戶選擇一個實體時,我都希望這個實體顯示在house_profile.php上。 – Eristikos 2012-03-26 04:38:01

+0

根據你的第一個答案的代碼(我沒有檢查第二個答案),我不得不說這個問題解決了。一個問題,因爲我是新來的PHP。 $ _GET ['user_price']給出用戶在第一頁上點擊的數據的名稱? – Eristikos 2012-03-26 04:49:02

+0

當你添加查詢字符串到這個格式的末尾link.php?variable1 = value1&variable2 = value2時,你可以使用$ _GET ['variable1']和$ _GET ['variable2']在下一頁檢索這些值。因此,如果您將ID添加到鏈接中,則每個顯示的鏈接都將包含相關房屋的唯一ID,您可以使用它來過濾結果。或者你可以通過價格來代替,並顯示所有價格他們想要的房子,或通過城市,並顯示該城市的所有房屋。玩的開心! – user1289347 2012-03-26 05:02:48

0

您查詢從數據庫中檢索每間房子的編號,但不顯示這個(除非我不明白你的代碼)。當用戶選擇一所房子,你必須獲取ID,然後在一個單獨的查詢使用,如

select price 
from houses 
where id = :ID 

目前你顯示你的窗體上的行櫃檯,而不是房子的ID - 這解釋你爲什麼寫...

當我得到$ _SESSION ['櫃']的價格,其數據庫的最後一個實體的數量。

您正在將行計數器的值傳遞給第二個查詢,而不是房子的ID。

+0

是的,我知道。問題是我如何獲得每個實體的當前數字或$計數器。例如,如果用戶將選擇第二個實體,$ counter應該是2或第五個將是5. – Eristikos 2012-03-26 04:36:21

相關問題