PHP脚本在每次脚本执行时从mysql获取新行

时间:2014-07-23 09:16:24

标签: php mysqli row

我有一个简单的my-sql表:

+----+----------+----------+-------------+-----------+
| id | Name    | Father    | National   | Value     |
+----+----------+----------+-------------+-----------+
|  1 | Daniel  | David    | American    |         0 |
|  2 | Rebbeka | Craig    | American    |         0 |
|  3 | Robert  | John     | American    |         0 |
|  4 | Arjun   | Daneil   | Indian      |         0 |
|  5 | Ana     | Peter    | British     |         0 |
+----+----------+----------+-------------+-----------+

我需要一个php脚本来查询并在每次执行时获取新的单行。它可能基于ID。

关于代码/框架,我在ubuntu服务器上使用简单的php5和mysql。

这是我的代码,探测器是每次调用时输出整个Name,Father列,我只想在每次执行时打印一行。并且在每个PHP脚本执行时,应该按照升序顺序打印一个新行。

<?php

$con = mysqli_connect('localhost','user','pass','database');

$result = mysqli_query($con,"select * from table");

while($row = mysqli_fetch_array($result)) {
        echo "Name:" . $row['name'] . " " . "Father's Name:" . $row['father'];
        echo "<br>";
}

mysqli_close($con);

?>

非常感谢每一位帮助。

3 个答案:

答案 0 :(得分:0)

以下代码将帮助您获得输出。 从下次当你提出任何问题时,请添加你的代码。

$link = mysqli_connect("localhost","root","","test") or die("Error " . mysqli_error($link));

$query = "SELECT * FROM `emp` ORDER BY RAND() LIMIT 0,1;" or die("Error in the consult.." . mysqli_error($link));

$result = mysqli_query($link, $query);

//display information:
$row = mysqli_fetch_array($result);

  echo $row["name"].$row["Father"].$row["National"].$row["Value"];

答案 1 :(得分:0)

由于我没有详细介绍您所拥有的代码/框架的类型,我会根据我的理解为您提供答案

我可以通过两种方式来获取数据

1

更改表格结构并添加另一个名为lastFetched的列,每次获取行时,都会按1更新特定行,并将其他所有内容更新为0,以便下次当你获取你已经知道的行时,哪一行是你提取的最后一行。你可以增加它。

2

在您获取结果的页面上会有一个隐藏的输入,您可以在其中存储最后一个数据编号,例如当页面加载时第一次0

然后你的查询将是

SELECT * from <tablename> LIMIT 0,1 

并将隐藏输入的值增加到+1 所以下次你获取结果时会给出查询

SELECT * from <tablename> LIMIT 1,2 

答案 2 :(得分:0)

根据我们在评论中的讨论,我得出结论,你正在寻找这个。

<table>
<tr>
<?php
if(isset($_POST['pullNextRecord'))
{
    $whtrec=$_POST['whatrecord'];
    $con = mysqli_connect('localhost','user','pass','database');
    $result = mysqli_query($con,"select * from table LIMIT $whtrec, ++$whtrec");
    echo "<input type='hidden' name='whatrecord' value=".$whtrec." />";
    echo "<th>Name</th><th>Fathers Name</th></tr><tr>";
    while($row = mysqli_fetch_array($result)) 
    {
        echo "<td>$row['name']</td><td>$row['father']</td>";
    }
    mysqli_close($con);
}
?>
<input type="submit" name="pullNextRecord" />