我有一個名為“names”的mysql資料庫表,如下所示:
- 所有列(除了 id)都存盤為 varchar
- 每條記錄的“全名”列中存盤了一個完整的 .php URL,但是在使用下表中的 URL 時出現 stackoverflow 代碼錯誤。
| ID | 名 | 姓 | 全名 | 輪廓 |
|---|---|---|---|---|
| 1 | 約翰 | 史密斯 | 約翰·史密斯 | .PHP URL 存盤為文本字串 |
| 2 | 簡 | 能源部 | 簡完成 | .PHP URL 存盤為文本字串 |
| 3 | 普拉卡什 | 辛格 | 普拉卡什·辛格 | .PHP URL 存盤為文本字串 |
我有一些 mysql 和 php 回傳前四列的記錄并將它們放入引導表中:
<?php
// Include config file
require_once "conn.php";
// Attempt select query execution
$sql = "SELECT * FROM names";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo '<table >';
echo "<thead>";
echo "<tr>";
echo "<th>#</th>";
echo '<th>First Name</th>';
echo "<th>Surname</th>";
echo '<th>Full Name</th>';
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['First Name'] . "</td>";
echo "<td>" . $row['Surname'] . "</td>";
echo "<td>" . $row['Full Name'] . "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
// Free result set
mysqli_free_result($result);
} else{
echo '<div ><em>No records were found.</em></div>';
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
// Close connection
mysqli_close($link);
?>
我想做什么:
- 使“全名”列中的所有單元格都可以獨立點擊。
- Onclick,我想在不打開新頁面的情況下將用戶帶到記錄 ID 的相應個人資料 URL。
嘗試:
我在 td 中為 onclick 事件添加了一個全名類:
echo "<td class='clickme'>" . $row['First Name'] . "</td>";
這使得只有表格的第一行可點擊。
我為該類添加了一些javascript:
var myMap = document.getElementById("clickme");
myMap.onclick = function() {
var myVar = window.location.replace("https://www.stackoverflow.com");
};
這部分作業,頁面重繪 并重定向到提供的 URL。但是,由于每條記錄都有自己的 URL(存盤在資料庫中),我想檢索特定的 URL,而不是在此處輸入絕對 URL。
非常感謝您提供的任何幫助!
uj5u.com熱心網友回復:
我從未使用過 php,但在平面 html js 中作業過。您可以通過資料屬性傳遞您的網址。
<td class='clickme' data-url="your_cell_url"> First Name </td>
然后在js檔案中
var myMap = document.getElementById("clickme");
myMap.onclick = function() {
var url = this.dataset.url
var myVar = window.location.replace(url);
};
我認為這可能會有所幫助
uj5u.com熱心網友回復:
嘗試:
echo "<td><a href=" . $row['yourURL'] . ">" . $row['First Name'] . "</a></td>";
或者,如果您對個人資料頁面使用 get 方法,它將如下所示:
echo "<td><a href=profile.php?id=" . $row['id'] . ">" . $row['First Name'] . "</a></td>";
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/517820.html
