[英]How to retrieve particular data of a row based on its id in mysql?
我想知道如何根據其ID檢索行的標題。
它的href鏈接基於下一個和上一個按鈕。 該ID將由
當前ID-1 =上一個ID($ pid)和當前ID + 1 =下一個ID($ nid)
我有$nid
和$pid
,但是現在我想在數據庫中獲取相應ID的標題。 現在我只在URL中顯示當前的ID標題。
href="features/headlines/<?php echo $pid; ?>/<?php echo $title; ?>"
我希望$title
顯示與$pid
對應的標題,但現在我只獲取當前ID的標題。
我試過<?php echo $pid[title]; ?>
<?php echo $pid[title]; ?>
將會產生以下效果:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$current_id = 6; // Whatever your current ID is here..
// Notice the subtraction from $current_id
$query = "SELECT `title` FROM `table` WHERE `id` = '".($current_id-1)."'";
// Would output:
// SELECT `title` FROM `table` WHERE `id` = '5'
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
$previous_title = $row['title'];
?>
參見: http : //php.net/manual/en/mysqli-result.fetch-assoc.php
您正在嘗試使用規范化的數據庫架構。 很好! (除非您正在談論PHP中的某些抽象數據類型)
如果我對您的理解正確,則您的列上需要一種特殊的“鍵”,特別是具有屬性AUTO_INCREMENT
的主鍵
MySQL可以使用簡單的BTREE
索引基於O(logn)
時間中的id來解決任何選擇。 Primary keys
是基本上代表每一行的唯一鍵(在這種情況下,id是標題的代表)。 您將執行以下查詢:
SELECT id, title from table_1 WHERE id = '$id_to_select'
要解析返回結果,您可以選擇一個數組: mysqli_fetch_row
mysqli_fetch_array()
mysqli_fetch_assoc
我認為最好的是mysqli_fetch_array
因為您可以指定如何獲取返回行: MYSQLI_NUM
表示索引, MYSQLI_ASSOC
表示關聯返回。
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
print_r($row);
//Array(
'id' => 1,
'title' => 'lorem ipsum'
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.