2017-05-30 27 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

我很抱歉有错,这是我的错 –