扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
试编写代码如下:
江源ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
?php
//从数据库根据 id 获取颜色
function getColor($db, $id)
{
if ($result = $db-query("SELECT * FROM color where id='" . $id . "'"))
{
$row = $result-fetch_assoc();
return $row['color'];
}
return '#000000';
}
$mysqli = new mysqli("localhost", "test", "test", "room");
if ($mysqli-connect_error) {
printf("数据库连接错误: %s\n", mysqli_connect_error());
exit();
}
?
table border="1" cellspacing="0"
tr
td bgcolor="?php echo getColor($mysqli,'1')?"1/td
/tr
tr
td bgcolor="?php echo getColor($mysqli,'2')?"2/td
/tr
tr
td bgcolor="?php echo getColor($mysqli,'3')?"3/td
/tr
/table
?php
$mysqli-close();
?
读取内容一般使用select语句,输出的话方法比较多,具体的可以参考网上的教程,根据自己的实际需要来选用其中一种,一般都是把数据读取到一个数组参数里面,然后再输出这个数组内容。具体的可以参考下w3school的教程:
?php
//打印出来的是对象object直接调用属性即可
$name = $diy-info-name;
如有疑问,请追加
常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。
1. 以.csv格式读取
将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。
优点:跨平台,效率比较高、可以读写。
缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
当然也可以自己手动分析字符串。
还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。
2. ODBC链接数据源
优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。
缺点:值支持windows服务器
3. PHP自定义类
优点:跨平台。某些类支持写操作。支持.xls二进制文件
常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。
phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
不过我下载回来的 (版本 2009-03-30),有两点要注意:
reader.php 中的下面这行要修改
将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
改为 require_once ‘oleread.inc’;
example.php 中
修改 $data-setOutputEncoding(’CP1251′);
为 $data-setOutputEncoding(’CP936′);
example2.php 中
修改 nl2br(htmlentities($data-sheets[$sheet]['cells'][$row][$col]));
为 $table_output[$sheet] .= nl2br(htmlspecialchars($data-sheets[$sheet]['cells'][$row][$col]));
不然中文会有问题。
繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。
修改 $data-read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流