在 URL 中傳送資料以檢視所選產品的單一記錄

Sarwan Soomro 2023年1月30日 2022年5月13日
  1. 從資料庫表中選擇所有產品
  2. 在 URL 中使用 details.php?pid=(dynamic value) 傳送資料
  3. 在 URL 中使用 PODS 樣式 MySQL 傳送 ID
  4. 在 URL 中瞭解 PODS 傳送資料
  5. 根據所選產品 ID (Pid) 獲取記錄
在 URL 中傳送資料以檢視所選產品的單一記錄

在本文中,我們將討論如何在 URL 中傳送資料以檢視所選產品的單條記錄。

從資料庫表中選擇所有產品

下面的程式碼解釋瞭如何從 MySQL 資料庫中獲取資料並建立一個 myproducts.php 頁面。

<!DOCTYPE html>  
<body align='center'>  
<head>  
    <title> View product detail </title>  
    <link rel="stylesheet" href="style.css">  
</head>  
<form action="myproducts.php" method="post" align="center">  
    <input type="submit" name="select" value="Show all products"/>  
</form>
<?php
//your database connection   
//The database file is included in the tutorial directory  
require_once ('db.php');  
//On submit  
if (isset($_POST['select']))  
{  
    //execute the mysql_query(); query to select all records from the cart table  
    //You can also find the sql dump file for the tabe in the directory  
    $response = mysqli_query($connect, 'SELECT * FROM cart');  
    echo "<table border='2' align='center'>  
<H2 align='center'> All Products </h2>
<tr>
<th>ID</th>
<td>Product Name</td>
<td>Price</td>
<td>Quantity</td>
<td>IP Rating</td>
</tr>";
//fetch records and store in the array using mysqli_fetch_array(); function
    while ($fetch = mysqli_fetch_array($response));
    {
        echo "<tr>"; 
        //echo array['index'] that contains product id which is a primary key
        //You will use this id later to dynamically retrieve records for the selected id which is now printed in the hyper reference
        //we are also using rawurlencode(); function for security which encodes your sensitive id information.
        ?><td><a href="details.php?pid=<?php echo rawurlencode($fetch['id']); ?> /">
        <?php echo $fetch['id']; ?>  </a> </td>
        <?php
        //fetch data from the cart table and create dynamic table in this while loop  
        echo "<td>" . $fetch['productname'] . "</td>";
        echo "<td>" . $fetch['price'] . "</td>";
        echo "<td>" . $fetch['quantity'] . "</td>";
        echo "<td>" . $fetch['IPrating'] . "</td>";
        echo "</tr>";
    }  
    echo "</table>";
    mysqli_close($connect); // close database connection   
}
?>
</body>
</html>

輸出:

顯示所有產品

在 URL 中使用 details.php?pid=(dynamic value) 傳送資料

我們可以使用任何表屬性作為你的 ID,包括字串。我們可以在 HTML 元素中回顯它,然後使用 $_GET['pid']; 方法來檢索它。

其餘的取決於我們想要如何操作動態 ID 的要求。

<!DOCTYPE html>  
<body align='center'>  
<a href='myproducts.php'> Main Page </a>  
    <head>  
    <title> URL ID FETCH SINGLE RECORD FROM PRODUCTS  </title>  
    <link rel="stylesheet" href="style.css">
    </head>

在 URL 中使用 PODS 樣式 MySQL 傳送 ID

myproducts.php 檔案中,我們學習瞭如何執行以下操作:

<a href="details.php?pid=<?php echo rawurlencode($fetch['id']); ?> /"> 
<?php echo   $fetch['id']; ?> </a>

這是 PHP 中用於使 URL 動態化併傳送 ID 的最常用方法。

一旦我們建立了動態的超引用,我們就可以使用 $_GET['id']; 並將其儲存在變數中。這樣,我們可以在這個選定的 ID 上使用任何邏輯。

由於它來自迴圈結構內,它會在通過 mysqli_fetch_array(); 獲取資料時更改 ID。

程式碼(products.php):

<?php
require "db.php";
//get your id from the URL
$id=$_GET['pid'];
$query="SELECT *  FROM cart where id=?";
if($param = $connect->prepare($query))
{
    $param->bind_param('i',$id);
    $param->execute();
    $response = $param->get_result();
    $response->num_rows;
    $field=$response->fetch_object();
}
?>

在 URL 中瞭解 PODS 傳送資料

這裡要注意的最重要的部分是使用 PODS 樣式的資料庫方法。

檢查 SQL 查詢。它與我們在 MySQL 中使用的不同,因為它是 PODS。

簡而言之,我們使用了 bind_Param();,這是一個 PHP 函式,可將引數連線到 SQL 查詢中的變數識別符號。

get_result(); 產生了一個陣列。因此,每個元素都與查詢結果的一行相關聯。

fetch_object(); 返回結果集的當前行,而 num_rows(); 返回結果集中的行數。

<h3 align="center"> Selected product </h3>
<table align='center' border='2'>
<th> Id</th>
<th> Product Name</th>
<th> Price</th>
<th> Quantity</th>
<th> Other</th>

根據所選產品 ID (Pid) 獲取記錄

在下面的程式碼中,我們使用了 PODS 結構來獲取包含針對 product.php?pid='dynamic id' 的資料的陣列索引。

<?php
echo "<tr ><td>$field->id</td>  
<td>$field->productname</td>  
<td>$field->price</td>  
<td>$field->quantity</td>  
<td>$field->IPrating</td></tr>  
";
echo "</table>";  
}else{
    echo $connection->error;  
}
?>
</body>
</html>

輸出:

通過 ID 檢視產品

Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

相關文章 - PHP URL