求教:如何读取Mysql 中的某一条记录?(关于PHP编程)
求教:如何读取Mysql中的某一条记录?(关于PHP编程)麻烦帮我修改一下这一段代码,使它可以读取某一条记录,例如只读取第8条,和第15条----------------...
求教:如何读取Mysql 中的某一条记录?(关于PHP编程)
麻烦帮我修改一下这一段代码,使它可以读取某一条记录,例如只读取第8条,和第15条
-----------------------------------
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}
mysql_free_result($result);
?>
补充问题:★★★★★★★我的数据是倒过来排的,所以要要改一下问题,改为读取倒数的某条记录★★★★★★★ 展开
麻烦帮我修改一下这一段代码,使它可以读取某一条记录,例如只读取第8条,和第15条
-----------------------------------
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}
mysql_free_result($result);
?>
补充问题:★★★★★★★我的数据是倒过来排的,所以要要改一下问题,改为读取倒数的某条记录★★★★★★★ 展开
3个回答
展开全部
加上一个limit就可以了,比如下面这个:
<?php
$conn=mysql_connect("localhost","mysql_user","muysql_password");
mysql_select_db("mydb",$conn);
mysql_query("set names utf8");//这一步是指明汉字的编码,现在一般都是utf8,如果不指的话汉字一般都会是乱码或者出其他一些问题
$sel=mysql_query("select * from mytable limit 7,1");mytable就是你的表名那,*代表所有的信息,第一个7代表的就是从第8条记录开始(0代表第一条记录),后面一个1表示从第8条记录开始只读一条记录,也就是只找第8条记录
$info=mysql_fetch_array($sel);
echo $info[1];//info[]数组就可以用来显示你的记录内容了,使用mysql_fetch_array()实际显示很灵活,比如你可以使用数字代表记录中的信息如:$info[1],也可以直接使用字段名比如,$info['title'],显示title字段的信息
?>
那么第15条记录也可以使用类似方法完成,如果你为了简化代码,实际可以使用全数据库的查找然后再在for中使用if找出要显示的记录。
建议不要在where中使用id的序号进行查找,因为不能保证id一定与记录的序号相同。
如果有错误多包含。
<?php
$conn=mysql_connect("localhost","mysql_user","muysql_password");
mysql_select_db("mydb",$conn);
mysql_query("set names utf8");//这一步是指明汉字的编码,现在一般都是utf8,如果不指的话汉字一般都会是乱码或者出其他一些问题
$sel=mysql_query("select * from mytable limit 7,1");mytable就是你的表名那,*代表所有的信息,第一个7代表的就是从第8条记录开始(0代表第一条记录),后面一个1表示从第8条记录开始只读一条记录,也就是只找第8条记录
$info=mysql_fetch_array($sel);
echo $info[1];//info[]数组就可以用来显示你的记录内容了,使用mysql_fetch_array()实际显示很灵活,比如你可以使用数字代表记录中的信息如:$info[1],也可以直接使用字段名比如,$info['title'],显示title字段的信息
?>
那么第15条记录也可以使用类似方法完成,如果你为了简化代码,实际可以使用全数据库的查找然后再在for中使用if找出要显示的记录。
建议不要在where中使用id的序号进行查找,因为不能保证id一定与记录的序号相同。
如果有错误多包含。
展开全部
select top 1 t.id,t.name from (SELECT top 8 id, name FROM mytable order by id) t order by t.id desc
括号里代表:按id排序后,取前8条
括号外表示:从这8条中,按id的倒序取出第一条,也就是你要的第8条
------------------补充----------------
select top 1 t.id,t.name from (SELECT top 8 id, name FROM mytable order by id desc) t order by t.id desc
括号里加个desc就行了
放在
$result = mysql_query("SELECT id, name FROM mytable");
改为$result = mysql_query("select top 1 t.id,t.name from (SELECT top 8 id, name FROM mytable order by id desc) t order by t.id desc");
括号里代表:按id排序后,取前8条
括号外表示:从这8条中,按id的倒序取出第一条,也就是你要的第8条
------------------补充----------------
select top 1 t.id,t.name from (SELECT top 8 id, name FROM mytable order by id desc) t order by t.id desc
括号里加个desc就行了
放在
$result = mysql_query("SELECT id, name FROM mytable");
改为$result = mysql_query("select top 1 t.id,t.name from (SELECT top 8 id, name FROM mytable order by id desc) t order by t.id desc");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改这一条:
$result = mysql_query("SELECT id, name FROM mytable");
改为
$result = mysql_query("select url,name from link2 where 1 order by id desc limit 8
);
where后面的是限定条件
$result = mysql_query("SELECT id, name FROM mytable");
改为
$result = mysql_query("select url,name from link2 where 1 order by id desc limit 8
);
where后面的是限定条件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询