我有一個添加行「年齡」,通過單擊列名稱排序表中的數據。我嘗試了很多解決方案,但沒有任何效果。我需要新列 「時代」:從成員如何通過點擊列標題添加「年齡」來對列進行排序?
<?php
// first creating database connection
$servername = "localhost";
$username = "user";
$password = "password";
$database = "celebrates"; //this will contain name of a database
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
mysqli_set_charset($conn, "utf8");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$action = '';
$sql = "SELECT * from members";
$where = '';
if(isset($_GET["id"]))
{
$id = $_GET["id"]; //geting id value which we are passing from table headers
$action = $_GET["action"]; // geting action value which we are passing from table headers
//we are checking condition if $action value is ASC then $action will set to DESC otherwise it will remain ASC
if($action == 'ASC')
{
$action='DESC';
} else {
$action='ASC';
}
if($_GET['id']=='id') {
$id = "id";
} elseif($_GET['id']=='name') {
$id = "name";
} elseif($_GET['id']=='vorname') {
$id="vorname";
} elseif($_GET['id']=='geburtstag') {
$id="geburtstag";
} elseif($_GET['id']=='age') {
$id = "age";
} elseif($_GET['id']=='ort') {
$id = "ort";
}
$where = " ORDER BY $id $action ";
$sql = "SELECT * FROM members " . $where;
}
?>
<!DOCTYPE html>
<html lang="de">
<table>
<tr>
<th><a href="site.php?id=<?php echo 'name';?>&action=<?php echo $action;?>">NAME</a></th>
<th><a href="site.php?id=<?php echo 'vorname';?>&action=<?php echo $action;?>">VORNAME</a></th>
<th><a href="site.php?id=<?php echo 'geburtstag';?>&action=<?php echo $action;?>">GEBURTSTAG</a></th>
<th><a href="site.php?id=<?php echo 'ort';?>&action=<?php echo $action;?>">ORT</a></th>
<th><a href="site.php?id=<?php echo 'age';?>&action=<?php echo $action;?>">AGE</a></th>
</tr>
<?php
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Fetch a result row as an associative array
while($row = $result->fetch_assoc()) {
?>
<tr>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["vorname"];?></td>
<td><?php echo date("j. F Y", strtotime($row["geburtstag"]));?></td>
<td><?php echo $row['ort'];?></td>
<td><?php echo $row['age'];?></td>
</tr>
<?php
}
echo '</table>';
echo '</div>';
} else {
echo "0 results";
}
$conn->close();
通知 TIMESTAMPDIFF(YEAR,CURDATE(),geburtstag):未定義指數:年齡線:「PHP的echo $行[」年齡']「
你能幫幫我嗎?謝謝。
while while add'print_r($ row);'併發布結果 –
謝謝,但是n ot work .... name,vorname,geburtstag,ort都來自SQL Table,我想讓臨時的「年齡」....如何以及在哪裏? 謝謝 –
年齡不在表中,因此問題 –