2013-09-26 22 views
0

你好,我的數據庫有不同的列,在MySQL的提取我只列出標題列,但我希望列表做一個鏈接已列出的結果該鏈接將打開一個具有相同結果的新頁面,但這次列出了該行中表格的所有列。添加到指向相同結果的mysql行結果的鏈接

MT SQL fethc是:

(!$result = mysqli_query($con,"SELECT * FROM tablename WHERE type = 'Panes'")) 

和我的SQL結果爲:<?php echo $row['name']; ?> - >這導致我想是的鏈接。

我想知道是否有人對可能的解決方案有任何建議。謝謝!

+0

我會使用POST/GET變量傳遞信息並更新您的實際查詢,以將該值作爲參數傳遞到預準備語句中。你真的嘗試過任何東西嗎?雖然 – Fluffeh

+0

[不知道我是否理解你爲什麼要說,但我相信你想要的是能夠使用*並使用mysqli使用準備好的語句結果關聯,看到這個?] (http://stackoverflow.com/a/18502088/342740) – Prix

+0

我現在從tablemname得到的結果是名稱行,我希望此結果顯示鏈接指向mysql結果的鏈接,它將顯示來自所有這行的列<?php echo $ row ['name']; ?>顯示 –

回答

0

如果您想在代碼中擁有單個查詢(基於查詢),則無法這樣做。 必須爲點擊項目或鏈接做另一個查詢..

如果您不需要表中的所有列,不使用*而不是隻選擇你需要使你的代碼更易讀,並以更快的速度什麼執行。

修訂你的查詢字符串,

"SELECT id, name FROM tablename WHERE type = 'Panes'" 

,並在代碼中顯示的結果做一個鏈接,

<a href = "displayAllColumns.php?id=<?php echo $row['id']; ?>"><?php echo $row['name']; ?></a> 

而在你的頁面displayAllColumns.php您必須通過獲得通過數據get method

$id = $_POST['id']; 
//then make a query for that to select all the data on that id 
//just have to type only the string so 
"SELECT * FROM tablename WHERE id = '$id'" 
//you must use `*` because you need to display all the columns then write your table code to display the result. 

希望它有幫助

+0

現在它的工作原理非常好 –

+0

感謝您的建議,即在不需要時從數據庫中選擇所有內容,這確實是一個很好的建議。 –

+0

當我使用GET而不是POST時,顯示的結果是POST,它給了我一個錯誤。 –

0

嘗試回顯定位標記。 <a href="my_link">$row['name']</a>

+0

問題這裏是my_link應該是什麼?此鏈接必須指向相同的mysqle提取結果,但包括所有列。在這個特定的行 –

+0

通常它會是一個鏈接到一個新的頁面,細節,這將顯示所選項目的細節。您可以將標題作爲查詢參數傳遞到新頁面,以便知道要顯示的項目。 – Vulcronos

+0

也許是這樣的? ".$row['name']."「?>但是如何指定URL中的變量爲$ row ['name'] –

0

使用這樣的事情:

<a href="display_item?id=<?php echo $row['id']; ?>"><?php echo $row['name']; ?></a> 

display_item.php腳本然後顯示在$_GET['id']的ID行。