2017-05-30 41 views
-2

我試圖通過修改它的每一頁數據庫輸出的每一頁

上,比如我有我的數據庫的表中把從我的數據庫的每一頁每一每個數據每行:

id fname lname age 1 bob carl 23 2 michael jake 25

現在我想每一行出現,我想

例如每一頁上我有 這page1.php中必須放出來的第一行這樣 bob carl 23

,我有這使page2.php必須走出把第二行這樣michael jake 25

等。

我有這樣

$sql = "SELECT * FROM pages"; 
$results = mysqli_query($connection,$sql); 

if (mysqli_num_rows($results) > 0) { 
    while ($row = mysqli_fetch_array($results)) { 
     $id = $row["id"]; 
     $pname = $row["pname"]; 
     $pimg = $row["pimg"]; 
     $pstream = $row["pstream"]; 
    } 
} 

一個代碼,如果我贊同這一點,它會輸出唯一或while循環它會輸出一個頁面上的所有行的最後一行。我怎麼能從我的代碼標記哪條線應該顯示?

+0

保留'while'循環並使用換行符來分隔它們;似乎是問題所在。 –

+0

@ Fred-ii-我不想在一頁中顯示所有行。我有兩個人在我的數據庫,我想在兩個不同的頁面上顯示它們 –

+0

1個用戶爲每個頁面?你的問題/評論不清楚。如果是這樣,那麼你可能正在尋找分頁。 –

回答

1

爲了在每個頁面上顯示特定數據,您必須通過使用附加子句來過濾數據來修改每個頁面的查詢。這一切始於WHERE子句:

$sql = "SELECT * FROM pages WHERE id = 1"; 

上述查詢將獲得匹配的id的數據。如果您選擇對過濾變量執行動態更改,請了解有關MySQLiprepared語句。即使escaping the string也不安全!

-1

在使用page1.php中:

$id=1; 
$sql = "SELECT * FROM pages where id=$id"; 
$results = mysqli_query($connection,$sql); 

if (mysqli_num_rows($results) > 0) 
{ 
     $row = mysqli_fetch_array($results); 
     $id = $row["id"]; 
     $pname = $row["pname"]; 
     $pimg = $row["pimg"]; 
     $pstream = $row["pstream"]; 

} 

和使page2.php組ID爲2等 如果你堅持用你的方法,然後嘗試

$sql = "SELECT * FROM pages ORDER BY id ASC"; 
    $results = mysqli_query($connection,$sql); 
    $idToShow=1; 
    $i=1; 
    if (mysqli_num_rows($results) > 0) 
    { 
     while ($row = mysqli_fetch_array($results)) 
     { 
      if($id==$idToShow) 
     { 
      $id = $row["id"]; 
      $pname = $row["pname"]; 
      $pimg = $row["pimg"]; 
      $pstream = $row["pstream"]; 
     } 
     $i++; 
     } 
    } 

像以前編造$ idToShow = 2 for page 2nd等

+0

讓我們不要教/宣傳馬虎和危險的編碼做法。如果你發佈的答案沒有準備好的陳述[你可能想在發佈前考慮這個問題](http://meta.stackoverflow。COM/Q/344703 /)。另外[一個更有價值的答案來自於顯示OP的正確方法](https://meta.stackoverflow.com/a/290789/1011527)。 –

+0

非常感謝您的回答和您寫作時的時間。但@Jay回答了這個問題。再次感謝Suzan –

+0

我很抱歉有錯,這是我的錯 –