?php
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了茌平免费建站欢迎大家使用!
mysql_select_db("infosystem",
$link);
//选择数据库
$q
=
"SELECT
*
FROM
info";
//SQL查询语句
mysql_query("SET
NAMES
GB2312");
$rs
=
mysql_query($q,
$link);
//获取数据集
if(!$rs){die("Valid
result!");}
echo
"table";
echo
"trtd部门名称/tdtd员工姓名/tdtdPC名称/td/tr";
while($row
=
mysql_fetch_row($rs))
echo
"trtd$row[1]/tdtd$row[2]/tdtd$row[3]/td/tr";
//显示数据
echo
"/table";
mysql_free_result($rs);
//关闭数据集
一、首先你需要在 $result=mysql_query($sql); 这一行之后取一下数据:
$row = mysql_fetch_array($result);
具体原因请看我以前回答过的问题:
二、之后查看获取到的数据:
1. 查看具体值:
echo $result[0];
2. 打印数组(使用源代码看的情况下会很清楚)
print_r($row);
3. 使用php自带的调试函数看数据结构:
var_dump($row);
结果已经有了,我就说下这句话的区别
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会自动停止循环
1. 查看具体值:
echo $result[0];
2. 打印数组(使用源代码看的情况下会很清楚)
print_r($row);
3. 使用php自带的调试函数看数据结构:
var_dump($row);
// 这是因为你从资源型结果集中获取数据时只获取了一次, 如果查询为多条数据应该迭代资源型结果集
$r = mysql_query($sql); // 你的结果集
$result = [];
while (true) {
$ary = mysql_fetch_assoc($r); // 取出第一条数据, 数据指针向后移动一位
if ($ary) {
$result[] = $ary; // 存储到结果数组中
} else {
break; // 如果取出的结果为false, 则代表数据获取完毕, 终止循环
}
}
echo 'pre';
print_r($result); // 打印最终结果
echo '/pre';
先定义头部信息,表示输出一个excel。
然后再以table的形式把数据库的信息循环的echo出来。
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");
$cfg_dbhost = 'localhost';
$cfg_dbname = 'testdb';
$cfg_dbuser = 'root';
$cfg_dbpwd = 'root';
$cfg_db_language = 'utf8';
// END 配置
//链接数据库
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//选择编码
mysql_query("set names ".$cfg_db_language);
//users表
$sql = "desc users";
$res = mysql_query($sql);
echo "tabletr";
//导出表头(也就是表中拥有的字段)
while($row = mysql_fetch_array($res)){
$t_field[] = $row['Field']; //Field中的F要大写,否则没有结果
echo "th".$row['Field']."/th";
}
echo "/tr";
//导出100条数据
$sql = "select * from users limit 100";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo "tr";
foreach($t_field as $f_key){
echo "td".$row[$f_key]."/td";
}
echo "/tr";
}
echo "/table";
?