2014-09-20 42 views
1

我已經成功地能到我的PHP頁面這樣的顯示器陣列值:鏈接我的數據庫值

Date Time Created: 

2014-09-15 07:20:02 

2014-09-15 07:20:52 

2014-09-15 07:29:19 

2014-09-15 22:54:39 

2014-09-15 23:02:46 

使用下面的PHP:

<?php 
echo "<p> Date Time Created: </p>"; 
$query = mysqli_query($con, "SELECT datetimecreated FROM example_DB"); 
while ($row = mysqli_fetch_assoc($query)){ 
foreach($row as &$value) { 
echo "$value<br />\n"; 
echo "<br />\n"; 
} 
} 
?> 

我的下一步就是鏈接每個數據值(在這種情況下,datetimecreated)到自己的PHP頁面。 理想情況下,我想創建一個模板PHP,然後選擇並向模板回覆點擊值的詳細信息,而不是爲每個值創建一個新的PHP頁面。

如何確定用戶點擊了哪個值? 是否可以用我迄今使用的代碼來做到這一點?

+0

更改foreach循環中的回聲部分。 「.$value.」;它的一個暗示 – 2014-09-20 05:13:36

+0

得到了提示!要回去幾頁,並更改一些代碼,但這應該工作。謝謝! – 2014-09-20 05:20:12

+0

歡迎您確認您沒有任何語法錯誤。正如我在評論中所說的那樣。謝謝 – 2014-09-20 05:22:02

回答

1

我相信這是你正在尋找

什麼這是你的代碼應該是什麼樣子

<?php 
    echo "<p> Date Time Created: </p>"; 
    $query = mysqli_query($con, "SELECT datetimecreated FROM example_DB"); 
    while ($row = mysqli_fetch_assoc($query)){ 
    foreach($row as &$value) { 
    echo "<a href='yourfilename.php?name='".$value."'>".$value."</a><br />"; 
    echo "<br />"; 
    } 
    } 
?> 

下面是代碼,你將需要添加到您「代替文件名是什麼yourfilename.php「你創建的鏈接中有什麼。下面的代碼需要位於頂部,所以在它之前沒有任何東西被加載,因爲當你沒有任何東西需要時,沒有任何一點試圖進行查詢。

<?php 
    if(isset($_GET["name"])){ 
     $n = preg_replace('#[^0-9 :-]#i', '', $_GET['name']); 
    } else { 
     exit(header("location: index.php?msg=nonameset")); } 
?> 

當您在變量中獲得名稱時,您可以使用它查詢數據庫以獲取更多鏈接信息。

加入這個註釋應要求:

我使用預浸更換拿出任何想要的字符是什麼幫助了不少安全因爲你會做一個數據庫查詢,你需要採取任何不想要的字符了,否則你可能會後悔的。

我還可以補充一點,我對PHP也很陌生,所以請毫不猶豫地糾正我。謝謝

+0

它的好兄弟。向他解釋你爲什麼使用preg_replace,因爲我相信他不知道。謝謝 – 2014-09-20 05:26:35

+0

我已添加快速說明 – Luke 2014-09-20 05:33:01

+0

發佈完整的解決方案。所以如果他不能這樣做。並回到這裏。他可以和你一起解決。我不知道你爲什麼使用出口。頭他可能沒有這些文件和變量。只是回聲一些消息,如回聲'不允許'謝謝 – 2014-09-20 05:36:58