如何从当前位置获取数据库中的信息?

问题描述:

我是初学者,有点困惑,如何从当前位置获取数据库中的信息。举个例子,在DATABASE:三行..id(主键),用户标识和信息,并有近400个ID的数据。如何从当前位置获取数据库中的信息?

现在说如果用户输入userid:abc,它位于id的第120个位置。

我想在120位置后显示所有ID s and userid。从第121个ID到第400个ID说。

我为此创建了一个代码,但它不工作。请帮助,并提前致谢。

代码:

<?php 
if(isset($_POST['submit'])) 
{ 
     $userid=$_POST['refuserid']; 
$sql = "SELECT id, userid, fullname FROM personal WHERE > (select id from personal where userid='$userid')"; 
$result = mysqli_query($conn, $sql); 
if (mysqli_num_rows($result)) 
{ 
$i=1; 
while($row = mysqli_fetch_assoc($result)) 
    { 

     echo "<tr>"; 

     echo "<td>" .$row["id"]. "</td>"; 
     echo "<td>" .$row["userid"]. "</td>"; 
     echo "<td>" .$row["fullname"]. "</td>"; 

$i++;  
     } 
} else { 
    echo "0 results"; 
} 
    } 
?> <form action="" method="post"> 
    <input type="text" name="refuserid" /> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

连接:

<?php 
$conn=mysqli_connect("localhost","root","", "gold99"); 
?> 

感谢。

+0

旁注:您正在将MySQL API与'mysql_error()'混合使用,需要将其读作'mysqli_error($ conn)'和'MYSQL_NUM'到'MYSQLI_NUM'。你不能将这两者混合在一起。 – 2014-12-05 05:36:35

+0

@ Fred-ii-我更正了代码......但是又不起作用 – 2014-12-05 05:39:40

+0

您是否依靠'$ data ['id']'来获取您在表单中输入的ID? '' – 2014-12-05 05:44:16

尝试

join查询

$sql = "SELECT a.id, a.userid, a.fullname FROM personal as a INNER JOIN personal as b ON a.id > b.id AND b.userid = 'abc'"; 
+0

问题更新请参阅并回复... – 2014-12-05 07:11:31

+0

@AnkitBhatanagar我更新了我的答案,请尝试替换您的查询与我的一个 – 2014-12-05 07:14:13

+1

非常感谢....它的作品...非常感谢... – 2014-12-05 07:23:14

尝试这种情况:

SELECT p.id, p.userid 
FROM personal p 
WHERE EXISTS (SELECT 1 
       FROM personal p1 
       WHERE p.id > p1.id AND p1.userid = 'abc' 
      ); 
+0

但什么是p.id和p.userid。其实这里的“p”是什么意思? – 2014-12-05 05:34:51

尝试下面的代码

$sql = "SELECT id, userid FROM personal where id > (SELECT id FROM personal where userid = 'abc')"; 
$data = mysqli_query($conn,$sql); 
+0

给出一个错误:致命错误:不能使用mysqli_result类型的对象作为数组 – 2014-12-05 05:52:28

+0

它不是查询错误尝试下面的代码 $ sql =“SELECT id,cat_name FROM primary_category where id>(SELECT id FROM primary_category where cat_name ='Travel') “; $ data = $ cons-> query($ sql); $ data = $ data-> fetch_array(MYSQLI_ASSOC); 的foreach($数据作为$ VAL){ \t回声$数据[ 'ID']; } – manuyd 2014-12-05 06:16:05

尝试此查询:

$ID = $_POST['id']; 
$sql = "SELECT id, userid FROM personal WHERE id > (SELECT id FROM personal WHERE userid = '{$ID}')"; 
$data = mysqli_query($conn,$sql); 
+0

但如何回显该ID下面的所有记录..? – 2014-12-05 06:03:36

+0

@AnkitBhatanagar你的问题说你想显示某个ID后的所有记录,这段代码只会这样做。你还想要展示什么? – Vivek 2014-12-05 06:10:17

+0

我以为你有点困惑。其实我想要所有下面给出的用户ID的数据。 ABC只是一个例子。如果我在ABC以下有200多条记录,而不是我将如何显示的记录?这是一个简单的问题。 – 2014-12-05 06:14:33