2014-12-05 137 views
2

我是初學者,有點困惑,如何從當前位置獲取數據庫中的信息。舉個例子,在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

回答

0
嘗試

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

0

嘗試這種情況:

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

0

嘗試下面的代碼

$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

0

嘗試此查詢:

$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

相關問題