php查找上一条数据 php 查找字符串

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 查找字符串
新闻来源:http://scjbc.cn/article/ddoschc.html

其他资讯