php+mysql 问题,怎么取得数据库本条数据的上一条id和下一条id...别说id++或--,因为我中间有可以要删除的
1. 先对数据以id字段排序。
为高安等地区用户提供了全套网页设计制作服务,及高安网站建设行业解决方案。主营业务为成都网站设计、成都做网站、高安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
2. 获取当前id,可以参考以下代码:
?php
//假设当前的 id=4
$id = "4";
$result = mysql_query("select * from jos_components");
$num = mysql_num_rows($result);
for($i=0;$i$num;$i++){
mysql_data_seek($result,$i);
$row = mysql_fetch_assoc($result);
if($row['id'] == $id){
$pointer = $i;
}
}
// current pointer for selected row
echo $pointer;
?
3. 用 mysql_data_seek($result,$i); 来移动指针,从而获取上一条和下一条id
PHP怎么取上一条查询的一组数据作为下一条查询的条件
这里假设sex中1表示男性。
本来一条SQL就OK,非要二条的话,
SELECT *
FROM `study`
WHERE `sex`=1 AND `age`19
非要二条的话可这样:
-------------------------
SELECT *
FROM `study`
WHERE `id`
IN (
SELECT `id`
FROM `study`
WHERE `sex` =1
)
AND age 19
-------------------------
测试的表和数据如下:
------------------------
--
-- 表的结构 `study`
--
CREATE TABLE `study` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(30) NOT NULL,
`age` int(11) NOT NULL,
`sex` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
--
--表中的数据 `study`
--
INSERT INTO `study` VALUES (1, 'aaaa', 18, 1);
INSERT INTO `study` VALUES (2, 'bbb', 19, 1);
INSERT INTO `study` VALUES (3, 'cccc', 20, 0);
INSERT INTO `study` VALUES (4, 'ddd', 21, 1);
INSERT INTO `study` VALUES (5, 'eee', 22, 1);
INSERT INTO `study` VALUES (6, 'ffff', 23, 0);
INSERT INTO `study` VALUES (7, 'hhh', 18, 1);
INSERT INTO `study` VALUES (8, 'jjj', 34, 1);
用PHP代码如何查询数据库表中的一条记录
我直接在这给你修改答案算了
使用的时候删除行号
修改数据库配置
如果想使用
页面不刷新查询数据库
需要使用JQUERY
如果有需要给我留言
1
?php
2
if(isset($_POST['submit'])$_POST['submit']=='提交'){
3
//判断是否是提交过来的
4
$intext
=
$_POST['intext'];
5
if($intext!=null||$intext!=''){
6
$link
=
mysql_connect("localhost",
"root",
"123456");
7
//数据库配置信息
第一个参数数据库位置第二个是用户名第三个是密码
8
mysql_select_db("szn_test");
9
//设置要使用的数据库
10
$sql
=
"select
*
from
demo
where
res
=
'".$intext."'";
11
//SQL语句
12
var_dump($sql);
13
$res
=
mysql_query($sql);
14
$arr
=
array();
15
//吧结果存入数组
并记录数组长度
16
$count
=
0;
17
while($data
=
mysql_fetch_array($res)){
18
$arr[$count]
=
$data;
19
$count++;
20
}
21
//关闭数据库
22
mysql_close($link);
23
}
24
}
25
26
?
27
html
28
head
29
title/title
30
/head
31
body
32
form
id="form1"
method="post"
action="demo.php"
33
input
type="text"
name="intext"
34
input
type="submit"
name="submit"
value="提交"
35
/form
36
?php
37
if(isset($arr)$arr
!=
null){
38
for($i
=
0;
$i
$count;
$i++){
39
foreach($arr[$i]
as
$key
=
$value){
40
echo
"key:".$key."
value:".$value;
41
echo
"
";
42
}
43
echo
"br";
44
}
45
}
46
?
47
/body
48
/html
这个是数据库查询代码
你可以看以下对照着修改修改
php怎么获取上一条执行的sql语句
原生代码不支持获取上一次执行的
sql语句
,ThinkPHP用getLastSql()函数获取的,代码如下:
class UserModel extends Model(BaseModel){
public function test($data){
$model = M('user');
$model-add($data);
$sql = $model-getLastSql();
} TP还有一种种方法就是直接用_sql,这个更方便!
1.
$model-_sql();方法实际执行的就是
2.
$model-getLastSql();用_sql注意中文
乱码
问题,相来说还是getlastsql比较快,_有时候会因为中文编码出错
至于大小写的问题根本不存在
php不区分这些大小写的。
新闻标题:php查找上一条数据 php 查找字符串
链接URL:http://cqwzjz.cn/article/ddoschc.html