簡體   English   中英

如何使用 PHP 在同一頁面中顯示檢索到的數據

[英]How to display the retrieved data in the same page using PHP

我創建了一個包含 3 個字段的表並將值存儲到其中。 我創建了一個可以執行不同操作的表單。 其中之一是檢索。 當我單擊檢索按鈕時,表中的請求數據會顯示在不同的頁面上。 我想在同一頁面中顯示它。 我想單獨使用 PHP 來做到這一點。 那可能嗎?

<!DOCTYPE html>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'DB';
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if(mysqli_connect_error()) 
{
die("couldn't connect" . $conn->connect_error());
}
$id = $_POST['Id'];
$name = $_POST['Name'];
$blood = $_POST['BloodGroup'];


if(isset($_POST['insert'])){
        $insert = "Insert into ins(Id, name, BloodGroup) values ('$id','$name', '$blood')" ;
        if($conn->query($insert) === TRUE) {
        echo ("Input data entered successfully");
        } else {
        echo ("Input data failed to be entered" . $conn->error());
        }
        $conn->close();
} elseif(isset($_POST['update'])) {

        $update = "update ins set Name='".$name."', BloodGroup='".$blood."' where Id='".$id."'";
        mysql_query($update);
        if($conn->query($update) === TRUE) {
        echo ("Data updated successfully");
        } else {
        echo ("Data cant be updated" . $conn->error());
        }
        $conn->close();
} elseif(isset($_POST['delete'])) {
        $id = $_POST['Id'];
        $delete = "delete from ins where Id='".$id."'";
        if($conn->query($delete) === TRUE) {
        echo ("Data deleted successfully");
        } else {
        echo ("Data cant be updated" . $conn->error());
        }
        $conn->close();
}
else {
$id = $_POST['Id'];
$retrieve = "SELECT * FROM ins WHERE Id = ".$id;
if ($result=mysqli_query($conn,$retrieve))
 {
  while ($row=mysqli_fetch_row($result))
{
echo '<table>
<tr>
<td>Id</td>
<td>Name</td>
<td>Blood Group</td>
</tr>
<tr>
<td>'.$row[0].'</td>
<td>'.$row[1].'</td>
<td>'.$row[2].'</td>
</tr>
</table>';
//$row[0],$row[1],$row[2]';
}
   mysqli_free_result($result);
}}
$conn->close();
?>

<h2>SELECT THE OPERATION YOU WANT TO PERFORM<h2>
<form method="post">
Id: <input type="text" name="Id" />
Name: <Input type="text" name="Name" />
BloodGroup: <input type="text" name="BloodGroup" /><br /><br />
<input type="submit" name="insert" value="Insert" />
<input type="submit" name="update" value="Update" />
<input type="submit" name="delete" value="Delete" />
<input type="submit" name="retrieve" value="retrieve" />
</form>
</body>
</html>

您還沒有向我們展示帶有檢索按鈕的第一個文件中的代碼。 如果我理解正確,這就是你想要的。 您需要在第一個文件上有一個表單,不要指定 action 屬性

<form method="post">

你需要像這樣有一個按鈕

<button type='submit'>

按下按鈕時,將執行相同的文件。 在文件的開頭,您檢查是否有帖子,如果有,處理它並輸出您想要的內容(並且不要輸出“檢索”按鈕)。 您不需要第二個表格來顯示結果。

在輸出 html 標頭之前,您還需要它,否則您將看不到編輯框的值。

if(!isset($_SESSION))
session_start();

我看不到其他任何錯誤(沒有自己運行)。 您確實意識到該頁面將被刷新! 如果你不想要這個,那么你必須使用 ajax。

elseif(isset($_POST['retrieve']))
{
$id = $_POST['Id'];
$retrieve = "SELECT * FROM `ins` WHERE `Id` ='".$id."'";
if ($result=mysqli_query($conn,$retrieve))
 {
  while ($row=mysqli_fetch_row($result))
{
echo '<table>
<tr>
<td>Id</td>
<td>Name</td>
<td>Blood Group</td>
</tr>
<tr>
<td>'.$row[0].'</td>
<td>'.$row[1].'</td>
<td>'.$row[2].'</td>
</tr>
</table>';
}
   mysqli_free_result($result);
}}

代替你的else條件代碼放置這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM