簡體   English   中英

如何在mysql中根據其ID檢索行的特定數據?

[英]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表主鍵自動增加一些前綴

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.

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