数据库mysql中的示例表,
id alphabet
1 A
2 B
3 C
4 D
我的项目要求我从数据库中获取26个数组。 有没有办法将我的输出限制为1而没有限制因为我想显示例如:A, 然后按一个按钮,如果满足要求,它将显示B?
答案 0 :(得分:2)
PHP在服务器上运行,它不能直接响应用户点击。每次用户点击页面链接时,脚本都会重新开始。
第一次运行脚本时,您可以运行查询并将所有结果保存在会话变量中(在下面的示例中称为array_data
)。然后,您可以使用参数指示脚本链接,该参数告诉它要显示哪个行号。类似的东西:
if(!isset($_SESSION['array_data'])) {
$_SESSION['array_data'] = array();
<execute query>
while ($row = <fetch row>) $_SESSION['array_data'][] = $row;
}
$cur_row = isset($_REQUEST['rowid']) ? $_REQUEST['rowid'] : 0;
printf("Data is: %s<BR/>", htmlentities($_SESSION['array_data'][$cur_row]));
printf("<A HREF='scriptname.php?rowid=%d'>Next row</A>", $cur_row+1);
答案 1 :(得分:0)
您可以在SQL中使用LIMIT
来限制您获得的结果数量。
答案 2 :(得分:0)
我带着你的问题在黑暗中拍摄。使用LIMIT和OFFSET可以帮助您检索单行。
SELECT id, alphabet FROM table LIMIT 1 OFFSET 0
LIMIT 1将始终为您提供一条记录。 OFFSET表示要跳过多少行。
答案 3 :(得分:0)
或者你可以简单地使用FOR(){}循环。 例如:
for($i; $i < 1; $i++){
$DoSql = mysql_query("SELECT * FROM <database> ORDER BY ABS(<datarow>) asc");
$FetchSql = mysql_fetch_array($DoSql);
---Your code goes Here---
}