Php 获取同一查询中的下一个记录和上一个记录

Php 获取同一查询中的下一个记录和上一个记录,php,mysql,Php,Mysql,我使用这个PDO查询从MySQL调用数据 $sql = "SELECT itemName FROM furniture WHERE itemID = :item"; 调用此特定itemName时,是否可以在同一查询中使用其itemID来获取下一个和上一个itemName,而不必编写新查询来获取下一个和上一个itemName e、 g。 如果 我正在转移视线去拿柚木圆桌、红木黑椅子和图朗放松椅请使用以下代码: (SELECT itemName FROM furniture WHERE itemI

我使用这个PDO查询从MySQL调用数据

$sql = "SELECT itemName FROM furniture WHERE itemID = :item";
调用此特定itemName时,是否可以在同一查询中使用其itemID来获取下一个和上一个itemName,而不必编写新查询来获取下一个和上一个itemName

e、 g。 如果

我正在转移视线去拿柚木圆桌、红木黑椅子和图朗放松椅

请使用以下代码:

(SELECT itemName FROM furniture WHERE itemID < 554 order by itemID desc limit 1) 
UNION
(SELECT itemName FROM furniture WHERE itemID >= 554 order by itemID asc limit 2)
例如,代码:

MyTable:
================
id  Store_name
================
1   English
2   French
3   Tamil
4   Uk
5   US

<?php  
$con = mysqli_connect("localhost","root","ramki","ramki");
$sql = "(SELECT store_name FROM store WHERE id < 2 order by id desc limit 1) 
        UNION
        (SELECT store_name FROM store WHERE id >= 2 order by id asc limit 2)";
$query = mysqli_query($con,$sql);
while ($row = mysqli_fetch_assoc($query)) {
echo $row['store_name'];
echo "<br>";
}
?>

对于迭代结果,您还可以使用获取每一行。

where itemID inid1、id2、id3…@user1844933谢谢。您能再解释一下吗?$sql=从家具中选择itemName,其中itemID不在554中;如果你喜欢这个男人,他会显示除554@Becky像你这样want@Ramki谢谢我认为那行不通。因为数据库中大约有230条记录。上面的例子只是为了说明,我不明白你的问题。您可以执行与上面演示的相同的代码,只需使用此变量更改$sql查询变量即可。我已经完成了。我正在处理将返回值分配到foreach循环中的2个变量中的问题?您可以演示如何执行此操作吗?foreach$rslt为$val{$val1=$val[item-1];$val2=$val[item-2];$val3=$val[item-3];}?您将不使用fetchAll,而是在for循环中使用fetch。阅读上面的文档!谢谢你的编辑。正如你在我的帖子中所看到的,我已经使用了fetchAll,我知道fetch对于这个需求是一个更好的选择。但我需要知道的是如何将结果分配给不同的变量。
MyTable:
================
id  Store_name
================
1   English
2   French
3   Tamil
4   Uk
5   US

<?php  
$con = mysqli_connect("localhost","root","ramki","ramki");
$sql = "(SELECT store_name FROM store WHERE id < 2 order by id desc limit 1) 
        UNION
        (SELECT store_name FROM store WHERE id >= 2 order by id asc limit 2)";
$query = mysqli_query($con,$sql);
while ($row = mysqli_fetch_assoc($query)) {
echo $row['store_name'];
echo "<br>";
}
?>
$sql = "SELECT itemName FROM furniture WHERE itemID IN (:item-1, :item, :item+1) ORDER BY itemID";