首页 > 编程知识 正文

php数据库返回一个数组类型,php输出数组的函数

时间:2023-12-27 22:27:32 阅读:326269 作者:OLRA

本文目录一览:

php从数据库取值后做成一个数组类型的随机数

从你的表述,我的分析是:你的数据库有30条左右的数据行,每次全部都查出来(需要一个二维数组,这样便于管理),每一行数据有3个字段,你需要的结果是,当页面刷新的时候,每次随即显示7条数据。代码如下:

?php

// 连接数据库

$link = mysql_connect('主机名', '用户名', '密码');

// SQL查询语句,条件WHERE如果没有可以不加,不需要LIMIT,全部查出来

$sql = "SELECT `字段1`, `字段2`, `字段3` FROM `表名` WHERE `条件`;";

// 执行SQL语句,获取查询结果集

$result = mysql_query($sql, $link);

// 循环遍历结果集 用意是为了构建二维数组,不懂不要紧用了就明白,双!!号是为了将while循环中表达式的值强制转换成布尔值,便于判断,可以不加,我习惯加上

while (!!$assoc = mysql_fetch_assoc($result)) {//以关联数组的方式解析结果集

    $data[] = $assoc; // 将解析的结果放入数组中,创建一个二维数组

}

// 初始化一个数组,下面要用到,是用来存放随即7个数组的下标的

$keys = array();

// 写一个自定义函数,需要用到递归算法

function get_key($keys, $data) {

   // 这里用到了一个随即数字函数mt_rand()而不是rand(),因为前者是后者的加强版,个人比较喜欢前者,当然用后者在这里也是完全可以的,根据自己的喜好来定

   if (!in_array($key = mt_rand(0, count($data) - 1), $keys)) {

       // 说明没有重复,接收

       return $key;

   } else { // 说明重复继续递归

       return get_key($keys, $data);

   } 

}

// 使用for循环随即读取数据中的7条数据,当然用foreach也可以,根据自己的喜好来定

for ($i = 0; $i  7; $i ++) {// 这里比较复杂的就是需要7条不同的数据,不能相同

   // 获取不同的7条数据的下标

   $keys[] = get_key($keys, $data);

}

// 7个不同数据的下标有了,接下来就是遍历数据了,用foreach

foreach ($keys as $key) {

    echo '字段1:' . $data[$key]['字段1'];

    echo 'p /';

    echo '字段2:' . $data[$key]['字段2'];

    echo 'p /';

    echo '字段3:' . $data[$key]['字段3'];

    echo 'p /';

}

// 问题解决,这只是一种解决方案,当然还有其他很多种,最后记得关闭数据库和销毁结果集

mysql_free_result($reuslt); // 销毁结果集

mysql_close($link)// 关闭数据库

// 销毁变量

unset($result);

unset($link);

?

希望我的方案,能够帮你解决问题,如果还有任何问题或疑惑欢迎追问~

php中如何将mysql数据库的内容返回到一个二维数组

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl

执行phpize生成编译文件,phpize在PHP安装目录的bin目录下

/usr/local/php5/bin/phpize

运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and

the $PHP_AUTOCONF

environment variable is set correctly and then rerun this

script.,需要安装autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install

autoconf(Ubuntu Linux)

/usr/local/php5/bin/php -v

执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,

这里会报错,可以根据错误信息去排查!

php $row = mysql_fetch_array($result) 返回一个数组

亲,如果你的返回结果集不是一条记录的话,需要循环获得,你直接while($row

=

$mysql_fetch_array($result)){

$data[]=$row;

}

就行了。

php查询的数据库的时候,得到的是一个数组类型的数据,数组中有空的数据,怎么让空的数组删除?

不行,两个是完全不同的结构

如果硬把数组,比如{1,2,3,4,5}存入数据库

唯一的方法是把"1,2,3,4,5"当作varchar存进去。

所以只能遍历这个数组然后分别吧1,2,3,4,5存进去。

当然,java框架也许会提供类似的方法,你传一个数组进去,他直接就抱存入数据库。但是内部也一定是拆开存的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。