当前位置:  编程技术>php
本页文章导读:
    ▪php heredoc和phpwind的模板技术使用方法小结       在PHP的文档中,只是提到了echo可以使用如下命令输出多行字符串(而且其中的变量被自动替换): PHP代码  代码如下:echo <<<END     This uses the "here document" syntax to output     .........
    ▪WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置       第一: 装http服务器apache apache.1.jpg (43.95 KB) 2007-9-26 17:36 apache.2.jpg (55.15 KB) 2007-9-26 17:36 apache.3.jpg (64.33 KB) 2007-9-26 17:36 apache.4.jpg (41.78 KB) 2007-9-26 17:36 apache.5.jpg (45.91 KB) 2007-9-26 17:36 apac.........
    ▪Mysql的GROUP_CONCAT()函数使用方法       语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表student_courses,并填.........

[1]php heredoc和phpwind的模板技术使用方法小结
    来源: 互联网  发布时间: 2013-11-30
在PHP的文档中,只是提到了echo可以使用如下命令输出多行字符串(而且其中的变量被自动替换):

PHP代码 
代码如下:

echo <<<END    
This uses the "here document" syntax to output     
multiple lines with $variable interpolation. Note     
that the here document terminator must appear on a     
line with just a semicolon. no extra whitespace!     
END;   


上面的END结束符可以自己规定,在Phpwind,使用了“EOT”来结束。但是需要注意的是,这个END必须是在一行的开头才能有效,这其实是Heredoc技术的一个局限性(因为heredoc可以自定义结束符,所以引入了这个问题),在下面会提到。

phpwind的模板文件一般存放在templatewind目录下面,在BBS目录中,使用require语句包含这个模板文件。其实这个模板文件是作为对应的PHP文件的一部分执行的,所以就不需要像PHPLib Template那样需要进行模板解析,然后再执行的过程。

为了让heredoc的内容能被DreamWeaver这样的编辑器正确识别,以实现“所见即所得的”的网页设计,需要在heredoc中增加注释,示例文件如下:

PHP代码
代码如下:

<!--     
<?php     
print <<<EOT     
-->     

<html>     
<head>     
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />     
<title>Untitled Document</title>     
</head>     

<body>     
<!--     
$name = '浅水游';     
print <<<EOT     
-->     

Hello,$name!     

<!--     
EOT     
print <<<EOT     
-->     

</body>     
</html>     

<!--     
EOT;     
?>     
-->    

这样的模板文件,其实就是一个标准的,可以执行的PHP文件。但是,这样的PHP文件,其HTML样式在DreamWeaver中可以正确的显示出来,所有的PHP代码会被看做HTML注释,而且在输出的时候,不会输出出来。比如,上面的文件在DreamWeaver中,被显示成:

PHP代码
代码如下:

Hello,$name!     


这样,在设计页面的时候,我们就可以借助DW的可视化界面,进行一些界面的修改,美化等工作。尽管没有实现完全的代码和HTML的分离,但至少提供了一种辅助性的设计手段。

    
[2]WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
    来源: 互联网  发布时间: 2013-11-30
第一: 装http服务器apache
apache.1.jpg (43.95 KB)
2007-9-26 17:36

apache.2.jpg (55.15 KB)
2007-9-26 17:36
apache.3.jpg (64.33 KB)
2007-9-26 17:36
apache.4.jpg (41.78 KB)
2007-9-26 17:36
apache.5.jpg (45.91 KB)
2007-9-26 17:36
apache.6.jpg (28.96 KB)
2007-9-26 17:36
apache.7.jpg (31.9 KB)
2007-9-26 17:36

apache安装完成,如果出现apache端口被占用的情况,请关闭你的迅雷,或者某些杀毒软件!

第二步:安装PHP:
  1)、将php-5.2.4-Win32.zip压缩包解压,然后复制到C:\并更名为C:\PHP5
  2)、拷贝C:\PHP5\php.ini-dist文件到X:\WINNT下,并更名为php.ini
  3)、(方法1)打开php.ini进行参数修改,把extension_dir设置为
         extension_dir = "C:/php5/ext"
(方法2)把php5下面的*.dll和ext下的*.dll文件复制到windows下的system32下面!(本人用的是这种)


第三步:加载php模块:
设置网站根目录:
$PU@7HB%[OZV(J4DWFZH7JR.jpg (52.84 KB)
2007-9-27 15:04

在apache的httpd.conf文件里,设置ServerRoot(服务器根,也就是apache的安装目录)
ServerRoot "F:\php"
设置DocumentRoot(网站目录,也就是你机器上那些让人浏览的网页所在目录)比如:
DocumentRoot "F:\php"
修改:(选择性)设置默然首页
Y`CP@HT[9H7WI5}0E{]A8MM.jpg (78.13 KB)
2007-9-27 15:04

<IfModule dir_module>
    DirectoryIndex phpinfo.php index.html
</IfModule>
用模块方式安装!
在文件最后加入
@MS$EG}(H(`D@A%B_Z5S@OK.jpg (43.16 KB)
2007-9-27 15:04

LoadModule php5_module c:/php/php5apache2_2.dll
AddType application/x-httpd-php .php
用CGI方式安装:
同上面的
  在ScriptAlias段,增加以下行
  ScriptAlias  /PHP5/   “C:/php/”
   在AddType段,增加以下行
    AddType application/x-httpd-php .php
    Action application/x-httpd-php  "/php5/php-cgi.exe“
第四步:
拷贝C:\PHP5\php.ini-dist文件到X:\WINNT下,并更名为php.ini
在php.ini配置文件中选择运行PHP时需要加载的模块。
[DATE]  下修改;date.timezone =为date.timezone =PRC

     将php.ini文件中下面格式的行前的;去掉以加载相应的模块,注:加载模块不正确将会出错
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
…这些自己加!
2.jpg (58.29 KB)
2007-9-26 17:36

测试php程序:<? phpinfo() ?>保存在f盘为phpinfo.php在浏览器输入http://localhost:加你的端口号/就OK了!

第五步:
安装mysql数据库!
1.jpg (37.61 KB)
2007-9-26 17:36

一直往下安装直到
14.jpg (50.97 KB)
2007-9-26 17:36

如果用uft8则选择utf8用gb2312则选择gb2312!‘
由于空间有限某些图片没有上传上来!
最后完成!

第6步:
安装ZendOptimizer
1.jpg (39.81 KB)
2007-9-26 17:36

按照提示继续安装直到完成为止!

最后配置phpmyadim:
解压文件放置到网站根目录下面:
修改libraries下的config.default.php并且重命名为config.inc.php保存在根目录下面修改如下:
$cfg['Servers'][$i]['auth_type']     = 'config'; 修改为
$cfg['Servers'][$i]['auth_type']     = 'cookies';
$cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci';
$cfg['DefaultCharset'] = 'utf8';

配置基本完成!这是本人粗略写的,有错误的地方还希望大家提出来,我会第一时间修改订正!
可以用QQ或者在论坛留言!

    
[3]Mysql的GROUP_CONCAT()函数使用方法
    来源: 互联网  发布时间: 2013-11-30
语法:

GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val])

下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据。

SQL代码
代码如下:

CREATE TABLE student_courses (     
    student_id INT UNSIGNED NOT NULL,     
    courses_id INT UNSIGNED NOT NULL,     
    KEY(student_id)     
);     
INSERT INTO student_courses VALUES (1, 1), (1, 2), (2, 3), (2, 4), (2, 5);    


若要查找学生ID为2所选的课程,则使用下面这条SQL:

SQL代码 
代码如下:

mysql> SELECT student_id, courses_id FROM student_courses WHERE student_id=2;     
+------------+------------+     
| student_id | courses_id |     
+------------+------------+     
|          2 |          3 |     
|          2 |          4 |     
|          2 |          5 |     
+------------+------------+     
3 rows IN SET (0.00 sec)  
 

输出结果有3条记录,说明学生ID为2的学生选了3、4、5这3门课程。
放在PHP里,必须用一个循环才能取到这3条记录,如下所示:

 

PHP代码
代码如下:

foreach ($pdo->query("SELECT student_id, courses_id FROM student_courses WHERE student_id=2") as $row) {     
    $result[] = $row['courses_id'];     
}     

而如果采用GROUP_CONCAT()函数和GROUP BY语句就显得非常简单了,如下所示:

 

SQL代码 
代码如下:

mysql> SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;     
+------------+---------+     
| student_id | courses |     
+------------+---------+     
|          2 | 3,4,5   |     
+------------+---------+     
1 row IN SET (0.00 sec)   


这样php里处理就简单了:

 

PHP代码
代码如下:

$row = $pdo->query("SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id");     
$result = explode(',', $row['courses']);     


分隔符还可以自定义,默认是以“,”作为分隔符,若要改为“|||”,则使用SEPARATOR来指定,例如:

 

SQL代码
代码如下:

SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '|||') AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;     

除此之外,还可以对这个组的值来进行排序再连接成字符串,例如按courses_id降序来排:

SQL代码
代码如下:

SELECT student_id, GROUP_CONCAT(courses_id ORDER BY courses_id DESC) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3