结果已经有了,我就说下这句话的区别
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定 *** 作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次 *** 作,返回一行数据
该 *** 作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环
不用从页面取id
去掉foreach
$sql="select from phome_ecms_wma order by rand() limit 30"
就行了
php 读取数据一般都是在循环读取的时候把数据放入数组里,例如
<php
$link = mysql_connect("数据库地址","用户名","密码");//连接服务器
mysql_select_db("数据库名",$link);//连接数据库
mysql_query("set names gb2312");//设置字符集
$str = "select from table1";//查询语句
$result = mysql_query($str,$link);//执行查询
$re_array = new array();//构造数组
while($row = mysql_fetch_array($result))
{
$re_array[] = $row['列名'];//这样可以保存多列数据,根据语句不同,需要在这进行相应修改
}
>
试试,这个想法行吧。
<php
$datas = 100; //数据表里100条数据
$setnum = 6; //设置随显示6条
$rand = '';
//for循环组建随机的id
for($i=1;$i<=$setnum;$i++){
$rand = ","rand(1,100); //在1~100之间取随机数包括1和100
}
//获得随机ID
$ids = substr($rand,1);
echo $ids;
/
下面用随机ID查询数据就可以了
select from table where id in($ids);
/
>
首先,应该建议在SQL语句上控制,例如在ACCESS、SQL SERVER里面这样写:
SELECT TOP 5
在MYSQL下应该这样写:
SELECT LIMIT 5
此外,要在while里面循环,可以这样修改:
$i=1;
while()
{
$i++;
if ($i>5) break;
}
首先你的需求总的来说是有3个:
1,显示总的数据
2,点击显示下一条
3,定位跳转到某一条
针对的解决办法:
1,这个对数据库而言,就是读取所有符合展示条件的信息
$where = 你的搜索条件;
$all_info = $this->db->getall('table_name','$where');
2和3的解决办法是,在数据库内有一个id字段,用于唯一标示你的信息
点击显示下一条:
假设你的当前信息id = 14 , 那么,你查询出来 id = 14+1 的信息即可,
跳转到特定的条目:
那就是你给id赋值,进行查询即可。
以上就是关于PHP如何输出数据库的每条数据全部的内容,包括:PHP如何输出数据库的每条数据、PHP随机从数据库读取N条数据、php如何获取几行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)