php随机一条数据库 php 随机

在PHP中如何像一个数据表随机写入100条记录??数据表是student_info

在php中要随机取mysql记录我们可以直接使用mysql_query来执行mysql中的select rand函数获取的数据并读出来,这里就来给大家简单介绍一下.

目前成都创新互联公司已为上千家的企业提供了网站建设、域名、网站空间成都网站托管、企业网站设计、余杭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

方法一,代码如下:

复制代码代码如下:

select * from tablename order by rand() limit 1

把 limit 后面的数值改为你想随机抽取的条数,这里只取一条.

方法二,代码如下:

复制代码代码如下:

$query= "SELECT count(*) as count FROM recommends";

....

$max_num = $row['count']; // 取记录总数

srand((double)microtime()*1000000); // 随机数种子

$se_pos = rand(0, $max_num); // 随机数范围

$length = 6; // 记录条数

if (($max_num - $se_pos) = $length) {

$se_pos = $max_num - $se_pos; // 记录数不足6条的情况

}

$query = "SELECT * FROM recommendsn limit ".$se_pos.",".$length;

例3,假设有一个名为xyj的数据库,库中有表obj,表中有一字段为name,现在要实现从表里随机选取一条记录,具体程序如下:

复制代码代码如下:

?php

$db = mysql_connect("localhost", "root");

mysql_select_db("xyj",$db);

$result=mysql_query("SELECT * FROM obj",$db);

$max_num=mysql_num_rows($result);//取得数据库的记录数

srand((double)microtime()*10000000); //生成随机数种子。

$se_pos=rand(0, $max_num-1); //从0到最大记录数取随机数

$length=30; //设定共取多少条记录

//下面是取出指定数目的记录。

$result_lim=mysql_query("select * from obj limit $se_pos,$length",$db);

$myrow_lim=mysql_fetch_array($result_lim);

printf("%sn", $se_pos);//显示随机得到的记录号

printf("%sn", $myrow_lim["name"]);//显示随机得到的记录的name字段

?

如何在数据库中随机取出1条记录?PHP

/**

* MySQL 随机取记录

* @param $t 表

* @param $c ID列,默认为id

* @param $n 取多少个

* @param $w 条件语句

* @param $f bool 是否强制以多维数组形式返回,默认false

* @return array 取1个直接返回结果数组(除非$f为true),取1个返回多维数组,用foreach取出

*/

function rand_row($t , $c = 'id' , $n = '1', $w = '' , $f = false) {

$m=new mysqli(mysqli信息,自行查找php文档);

if (!empty($w)) {

$w = ' AND '.$w;

}

$sql = "SELECT * FROM `{$t}` WHERE {$c} = (SELECT floor(RAND() * (SELECT MAX({$c}) FROM `{$t}`))) {$w} ORDER BY {$c} LIMIT {$n};";

$xq  = $m-query($sql);

$r   = array();

while ($x = $m-fetch_array($xq)) {

$r[] = $x;

}

if ($f == false  count($r) == 1) {

return $r[0];

} else {

return $r;

}

}

php语句,怎么从数据库中随机获取数据字段。

//连接数据库

if(!$con = mysql_connect("localhost","root","root")){die(mysql_error());}

mysql_select_db("ali_xt");

mysql_query('set names utf8');

//找出ali_admin表的字段

$res = mysql_query('show columns from ali_admin');

//将数据给弄出来

$data = array();

while ($row = mysql_fetch_assoc($res, MYSQL_NUM)) {

$data[] = $row;

}

//随机个数,默认5

$rand_times = 5;

$rand_times = count($data)$rand_times?count($data):$rand_times;

$result = array();

for( $i=0;$i$rand_times;$i++ ){

$result[] = $data[rand(0,count($data)-1)][0];

}

echo "pre";

print_r($result); //输出5个随机字段

mysql_close($con);

//纯手写的,不明白可以问我,记得给分

php select 查询数据库的时候,如何 echo 查询到的随机一个值

你可以直接在sql 里写随机 select name from users where state='1' and weiname!='' and imageurl!='' and sex!='' order by rand() limit...

php随机生成数据库中不存在、不重复数字

说下思路:

1. 将生成的数字保存到mysql数据库,然后每次生成的号码不能与数据库的数字重复,请问怎么弄?

先读取数据库已存在的数字,将结果以数组格式,与rand(1,1000)的数组相比较计算差集,去除这部分数字(array_diff),再shuffle,得到新的随机数。

我觉得,你完全可以建立一个序号表,比如,1-1000,每次用时先用随机函数取(1-数据记录数)个数值,再用这个数值取得相应的记录,当取出之后,删除这个记录,这样保证记录总数一直会减少且数字也不会重复。

2. 有没有什么办法生成的时候先生成一位数的,一位数生成满了以后再生出两位数的,两位数满了然后再三位数的,以此类推?

先获取一位数的记录,再从中随机抽取一个,如果数据库中没有找到一位数的,就递增一位数,直到找到为止。

3. 代码的执行效率希望能越高越好!

如果想要代码执行效率,最好尽量减少与数据库的交互。

php,选择“数据库表里”符合某个条件的多个数据,然后怎么再随机选取一个?

$mysql_server_name="localhost"; //数据库服务器名称

$mysql_username="root"; // 连接数据库用户名

$mysql_password="??????"; // 连接数据库密码

$mysql_database="??????"; // 数据库的名字

// 连接到数据库

$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password);                   

// 从表中提取信息的sql语句

$strsql="SELECT * FROM 表名 WHERE type='交友'";

// 执行sql查询

$result=mysql_db_query($mysql_database, $strsql, $conn);

// 获取查询结果

var_dump(array_rand($result));


本文标题:php随机一条数据库 php 随机
分享URL:http://ybzwz.com/article/doodeco.html