如何在php中自动增加mysql Limit命令
我需要一次显示一行mysql表,因为我在php中使用的是:如何在php中自动增加mysql Limit命令,php,mysql,limit,Php,Mysql,Limit,我需要一次显示一行mysql表,因为我在php中使用的是: $result = mysqli_query($con,"select * from table limit 0,1"); while($row = mysqli_fetch_array($result)) { echo "First Name:" . $row['First'] . " " . "Last Name:" . $row['Last']; echo "<br>"; } (我在参数中包括$cou
$result = mysqli_query($con,"select * from table limit 0,1");
while($row = mysqli_fetch_array($result)) {
echo "First Name:" . $row['First'] . " " . "Last Name:" . $row['Last'];
echo "<br>";
}
(我在参数中包括$count)
执行时,每次只显示第一行。我需要对其进行修改,使其在执行代码时返回一个新行值。例如,它第一次输出第一行,第二次执行脚本时输出第二行,依此类推
我在ubuntu服务器上使用php5,mysql
请帮忙。试试这个
$result = mysqli_query($con,"select * from table ORDER BY RAND() LIMIT 1");
while($row = mysqli_fetch_array($result)) {
echo "First Name:" . $row['First'] . " " . "Last Name:" . $row['Last'];
echo "<br>";
}
$result=mysqli_query($con,“按RAND从表顺序中选择*限制1”);
while($row=mysqli\u fetch\u数组($result)){
回显“名字:”.$row['First']。“姓氏:”.$row['Last'];
回声“
”;
}
由于希望在运行php代码时检索数据,因此需要对代码中的循环进行计数,并按如下所示递增值
如果要循环,需要在限制0,1
像这样的循环
LIMIT " . $loopcount . ",1
LIMIT " . $loopcount . ",1
LIMIT " . $loopcount . ",1
我不是php程序员,所以我不知道确切的代码
如果只需要一个随机变量,而不需要下一个,可以使用SELECT*FROM table ORDER BY RAND()LIMIT 1
这只会给出一条随机记录,您不会跳出表外,因为它总是从表中选择一条记录
如果你有一张大桌子,它会影响你的表现。但你总会有记录的。如果您只是循环限制“$loopcount.”,1
您就有可能尝试在表范围之外进行选择。如果您有100行,并且尝试限制101,1
,您将得到一个空记录集。您可以通过两种方式来实现:
第一个是将增量值保存在某个地方。我不知道如何传递它,或者何时以及如何导出它,但如果它们每次单独运行(例如,通过cron作业或终端运行),您可以将值保存在一个简单的文件或memchache中
第一种方式:
$offset = file_get_contents('my_counter.txt');
$offset++;
$result = mysqli_query($con,"select * from table limit " . (int) $offset . ",1");
file_put_contents('my_counter.txt', $offset);
下一步是保存行中的最后一个id:
$lastID = file_get_contents('my_counter.txt');
if($lastID == "") // First call and no last id
$lastID = 0;
$result = mysqli_query($con,"select * from table WHERE ID > " . (int) $lastID . " limit 0,1");
while($row = mysqli_fetch_array($result)) {
echo "First Name:" . $row['First'] . " " . "Last Name:" . $row['Last'];
$lastID = $row['ID']; // Your autoincrement row
}
file_put_contents('my_counter.txt', $lastID);
我希望我正确理解了你的问题,这对你有帮助。只需删除限制,或者与ORDER BY RAND()limit 1一起尝试。他希望每次代码运行时都显示一条新记录。这样做是否正确?否这将显示表中的所有记录。他想要1条新记录/加载我不是php程序员,所以我不确定。这不会增加我认为的价值。它基于php代码执行的时间,因此我认为这将始终提供相同的记录,因为它只是一次刷新。我认为最好的方法是使用SELECT*FROM table ORDER BY RAND()LIMIT 1
是的,这正是我想要实现的,我如何在php中做到这一点?Martin如何执行这部分:echo$lastID;文件内容('/var/www/my_counter.txt',$lastID);用户单击后,只需在表单提交操作中添加代码:)例如,如果我们在您的操作中有://您的输入,则您将有If(isset($\u GET['action'])&&&$\u GET['action']=='save\u user'){//DO your save here}我有一个表单字段,描述为:如何添加多个操作,我应该将其保存在包含此表单的文件中,还是创建一个新文件来验证该操作。您可以检查此url:基本上,我按顺序生成“名称”和“父名称”,并将输出提供给变量,然后将其放入表单输入中,然后链接到动作文件。我已经将我们讨论过的代码放在了表单所在的同一个文件中。问题是每次刷新时$lastID都会增加。是否有任何方式,在页面刷新时,它不会增加,但在表单上,它应该提交,或者以其他方式提交。
$lastID = file_get_contents('my_counter.txt');
if($lastID == "") // First call and no last id
$lastID = 0;
$result = mysqli_query($con,"select * from table WHERE ID > " . (int) $lastID . " limit 0,1");
while($row = mysqli_fetch_array($result)) {
echo "First Name:" . $row['First'] . " " . "Last Name:" . $row['Last'];
$lastID = $row['ID']; // Your autoincrement row
}
file_put_contents('my_counter.txt', $lastID);