当前位置:  编程技术>php
本页文章导读:
    ▪php二维数组应用举例-根据条件取数据      php二维数组应用举例-根据条件取数据,假如数组$point_arr(如下),请取出 user_id = 3的那一行数组。 <?php //数组 $point_arr = array(    array("id"=>1,"id"=>1,"point"=>2),    array("id"=>2,"id"=>3.........
    ▪有关php连接mssql的一些总结      php连接mysql,系统需要启用php_mssql的扩展,且在PHP.ini中的配置中,将;extension=php_mssql.dll前面的;去掉。 下面来看具体的例子。      1、连接MSSQL   代码如下: $conn=mssql_connect("实例名或者服务.........
    ▪快速自动安装php扩展模块的方法      安装php模块,可以用:rpm包,也可以用源码安装。 其实,安装扩展模块可以使用php 自带的模块安装命令,即可实现快速自动安装php扩展模块了。 下载,编译,安装一步到位的方法。 1、安.........

[1]php二维数组应用举例-根据条件取数据
    来源: 互联网  发布时间: 2013-12-24

php二维数组应用举例-根据条件取数据,假如数组$point_arr(如下),请取出 user_id = 3的那一行数组。
<?php
//数组
$point_arr = array(
   array("id"=>1,"id"=>1,"point"=>2),
   array("id"=>2,"id"=>3,"point"=>2),
   array("id"=>3,"id"=>3,"point"=>2),
   array("id"=>4,"id"=>3,"point"=>2),
);
for($i = 0;$i <sizeof($point_arr);$i ){
 if($point_arr[$i]["id"] == 3){
    //$new是个新的数组用于接收user_id=3的。
     $new[] = $point_arr[$i];
  }
}
//输出新的数组。
for($i = 0;$i <sizeof($i);$i ){
  print_r($new[$i]);
  echo "<br />";
}
?>


    
[2]有关php连接mssql的一些总结
    来源: 互联网  发布时间: 2013-12-24

php连接mysql,系统需要启用php_mssql的扩展,且在PHP.ini中的配置中,将;extension=php_mssql.dll前面的;去掉。
下面来看具体的例子。
    
1、连接MSSQL
 

代码如下:
$conn=mssql_connect("实例名或者服务器IP","用户名","密码");
    
//测试连接
if($conn)
{
echo "连接成功";
}
 

    
2、选择要连接的数据库
 

代码如下:
mssql_select_db("dbname");
 

    
3、执行查询
 

代码如下:
$rs = mssql_query("select top 1 id,username from tbname",$conn);
或者直接执行update,insert等语句,可以不用为返回结果赋值
mssql_query("update tbname set username='niunv' where id=1");
 

    
4、获取记录集行数
 

代码如下:
echo mssql_num_rows($rs);
 

    
5、获取记录集
 

代码如下:
if($row=mssql_fetch_array($rs))
{
$id = $row[0];//获取ID字段值
$username = $row[1];//获取username字段值
}
 

    
6、获取新增记录的ID
将id字段设置为IDENTITY字段,执行insert语句以后,就会产生一个 @@IDENTITY 全局变量值,查询出来就是最后一条新增记录的ID了.
 

代码如下:
mssql_query("insert into tbname(username) values ('nv')",$conn);
$rs = mssql_query("select @@IDENTITY as id",$conn);
if($row=mssql_fetch_array($rs))
{
echo $row[0];
}
 

    
7、释放记录集 //更多
 

代码如下:
mssql_free_result($rs);
 

    
8.关闭连接
 

代码如下:
mssql_close($conn);


注:用PHP操作MSSQL比在ASP连接MYSQL要简单,所以,当需要MSSQL与MYSQL并存时,用PHP连接MSSQL来操作MYSQL与MSSQL并存比较简单好用.如果是ASP连接MYSQL,需要安装一个MYSQL驱动,默认windows的ODBC没有安装,很遗憾...

1.在web服务器上至少安装了mssql的客户端    
2.打开php.ini把;extension=php_mssql.dll   前面的分号去掉  
 有必要话:需要制定extension_dir  
3.推荐使用   php<=4.0.9     <=5.0.3目前   我还没有连接成功过4.010和   5.0.3  
4.数据库的   连接分页可以   到     phpe.net上获取到相应的class  
下面是我根据那里   修改的   一个class  
 

代码如下:
<?php  
/**  
*mssql   数据库连接类  
**/  
class   SQL{  
 
var   $server;  
var   $userName;  
var   $passWord;  
var   $dataBase;  
 
var   $linkID   =   0;  
var   $queryResult;  
var   $lastInsertID;  
 
var   $pageNum   =   0;//分页用---共有几条数据  
var   $ER;  
 
/**  
*构造函数  
**/  
function     SQL($Server='',$UserName='',$PassWord='',$DataBase=''){  
$this->server   =   $Server;  
$this->userName   =   $UserName;  
$this->passWord   =   $PassWord;  
$this->dataBase   =   $DataBase;  
}  
/**  
*数据库连接  
**/  
function   db_connect(){  
$this->linkID   =   mssql_pconnect($this->server,$this->userName,$this->passWord);  
if(!$this->linkID){  
$this->ER   =   "db_connect($this->server,$this->userName,$this->passWord)   error";  
return   0;  
}  
if   (!mssql_select_db($this->dataBase,$this->linkID))   {  
$this->ER   =   "mssql_select_db($this->dataBase,$this->lastInsertID)   error";  
return   0;  
}  
return   $this->linkID;  
}  
 
/**public  
*     function:   Check   the   database,   if   exist   then   select  
*     exist:   return   1  
*     not   exist:   return   0  
*/  
function   selectDatabase(){  
if(mssql_select_db($this->dataBase))  
return   1;  
else  
return   0;  
}  
 
/**  
*数据操作  
**/  
function     query($Str){  
if   ($this->linkID   ==   0)   {  
$this->ER   =   "数据库还没有连接!!";  
}  
 
$this->queryResult   =   mssql_query($Str);
//$this->queryResult   =   mssql_query($Str,$this->linkID);  
if   (!$this->queryResult)   {  
$this->ER   =   "$Str.没有操作成功,query   error!!";  
return   0;//****************对于php   4.3.9以上版本的错误用1  
}  
return   $this->queryResult;  
}  
 
/**  
*数据获取  
**/  
function   fetch_array($result){  
if($result   !=   "")   $this->queryResult   =   $result;  
$rec   =mssql_fetch_array($this->queryResult);  
 
if(is_array($rec)){  
return   $rec;
}  
 
//$this->ER   =   "没有获取数据!";  
return   0;  
}  
 
/**public  
*     function:   Free   the   Query   Result  
*     success   return   1  
*     failed:   return   0  
*/  
function   freeResult($result=""){  
if($result   !=   "")   $this->queryResult   =   $result;  
return   mssql_free_result($this->queryResult);  
}  
  
/**  
*获取影响的的行数  
*获取操作过的行数  
**/  
function   num_rows($result=""){  
if   ($result   !=   "")   {  
$this->queryResult   =   $result;  
$row   =   mssql_num_rows($this->queryResult);  
return   $row;  
}  
}  
    
/**  
*获取查询结果---多个  
**/  
function   result_ar($str=''){  
if   (empty($str))   {  
return   0;  
}  
$back   =   array();  
$this->queryResult   =   $this->query($str);  
 
while   ($row   =   $this->fetch_array($this->queryResult))   {  
$back[]   =   $row;  
}  
return   $back;  
}  
 
/**  
*数据库信息分页  
*$Result   数据库操作  
*str   ==sql语句    
*page   ==第几页  
*showNum   ==显示几页  
*/  
function   page($Str,$Page=0,$ShowNum=5){  
$back   =   array();//返回数据  
$maxNum   =   0;  
if   ($Str   ==   "")   {  
$this->ER   =   "没有数据";  
return     0;  
}  
$this->queryResult   =   $this->query($Str);  
if($this->queryResult){  
if($Page==""){  
$nopa=0;  
}else{  
$nopa   =   ($Page-1)*$ShowNum;  
if   ($nopa<0)   {  
$nopa   =   0;  
}  
}  
$maxNum=$this->num_rows($this->queryResult);  
$k=0;  
$i=0;  
$dd=$this->fetch_array($this->queryResult);  
 
while($dd&&$nopa<=$maxNum&&$i<$ShowNum){  
if($nopa   >=   $maxNum)     $nopa   =   $maxNum;  
mssql_data_seek($this->queryResult,$nopa);  
 
$row=$this->fetch_array($this->queryResult);  
 
$nopa++;  
$i++;  
$back[]   =   $row;  
 
if   ($nopa   >=$maxNum)   {  
break;  
}  
}  
}  
$this->pageNum   =   $maxNum;  
return   $back;  
}  
 
/**  
*分页的html页码  
*/  
function     page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){  
if   ($DataNum   ==   0)   {  
$back   =     "没有要查询的数据";  
}else   {  
if   ($ShowNum<=0)   {  
$ShowNum   =   3;  
}  
if   ($Page<=0)   {  
$Page   =   1;  
}  
if   (empty($web))   {  
$web   =   "#";  
}  
$pageNum   =   ceil($DataNum/$ShowNum);  
if   ($Page   <=   1)   {  
$top   =     "首页<<";  
}else   {  
$top   =   "<a   href='".$web."?page=0&".$Post."'   target='_self'>首页<<   </a>";  
}  
if   ($Page   !==1)   {  
$upPage   =     "<a   href='".$web."?page=".($Page-1)."&".$Post."'   target='_self'>上一页</a>";  
}else   {  
$upPage   =   "上一页";  
}  
if   ($Page   <   $pageNum)   {  
$downPage   =   "<a   href='".$web."?page=".($Page+1)."&".$Post."'   target='_self'>下一页</a>";  
}else   {  
$downPage   =   "下一页";  
}  
if   ($Page   ==   $pageNum)   {  
$foot   =   ">>尾页";  
}else   {  
$foot   =   "<a   href='".$web."?page=".$pageNum."&".$Post."'   target='_self'>   >>尾页</a>";  
}  
 
$back   =   <<<EOT  
 
共   $pageNum   页   &nbsp;&nbsp;  
第   $Page/$pageNum   页   $top   &nbsp;   $upPage   &nbsp;   $downPage     &nbsp;   $foot  
EOT;  
}  
return   $back;  
}  
}//end   class  
?>

    
[3]快速自动安装php扩展模块的方法
    来源: 互联网  发布时间: 2013-12-24

安装php模块,可以用:rpm包,也可以用源码安装。
其实,安装扩展模块可以使用php 自带的模块安装命令,即可实现快速自动安装php扩展模块了。

下载,编译,安装一步到位的方法。

1、安装php 模块安装命令。
 

代码如下:

wget http://pear.php.net/go-pear
php go_pear

[root@localhost ~]# php go-pear
Welcome to go-pear!

Go-pear will install the 'pear' command and all the files needed by
it. This command is your tool for PEAR installation and maintenance.

Go-pear also lets you download and install the following optional PEAR
packages: PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2.

If you wish to abort, press Control-C now, or press Enter to continue:

HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none::

Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.

1. Installation prefix ($prefix) : /root
2. Temporary files directory : $prefix/temp
3. Binaries directory : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory : $php_dir/docs
6. Data base directory : $php_dir/data
7. Tests base directory : $php_dir/tests

1-7, 'all' or Enter to continue:

可以选择:1 设置你安装路径。
接下来,一路回车就可以完成安装了。
现在,你可以直接运行:pecl  pear 2个命令进行安装。

什么是:pear  pecl 呢?
Pear、Pecl都是PHP扩展模块的集合。
扩展PHP有两种方法:
一种是用纯粹的PHP代码写函数和类。  
Pear就是这样一个项目。PEAR是PHP的官方开源类库(PHP Extension and Application Repository的缩写)。
Pear在英文中是梨子的意思。PEAR将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈面、数据库访问、文件操作、
数据结构、缓存操作、网络协议等许多方面,用户可以很方便地使用。它是一个PHP扩展及应用的一个代码仓库,
简单地说,PEAR就是PHP的 cpan。其主页是pear.php.net。  

另外一种是用c或者c++编写外部模块加载至php中。  
Pecl(The PHP Extension Community Library)就是干这个事的,PHP的标准扩展,可以补充实际开发中所需的功能。
所有的扩展都需要安装,在Windows下面以DLL的形式出现;在 linux下面需要单独进行编译,
它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。
其主页是 pecl.php.net。  最直接的表述:Pear是PHP的上层扩展,Pecl是PHP的底层扩展。  
这两种方法其实都是为特定的应用提供现成的函数或者类,本质上来说都是一样的。

知道上面 2个区别,对于我们安装很方便理解了。我们一般so文件扩展,需要运行:pecl

2.下面,安装个:pecl_http扩展试下
 

代码如下:
[root@localhost ~]# pecl search http
Retrieving data...0%
Matched packages, channel pecl.php.net:
=======================================
Package Stable/(Latest) Local
pecl_http 1.7.0 (stable) Extended HTTP Support
You have new mail in /var/spool/mail/root
[root@localhost ~]# pecl install pecl_http
downloading pecl_http-1.7.0.tgz ...
Starting to download pecl_http-1.7.0.tgz (173,979 bytes)
.....................................done: 173,979 bytes
71 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
whether to enable cURL HTTP requests; specify libcurl directory [yes] :

先运行:search 命令模糊搜索,然后可以用,pecl install pecl_http .
一路回车,一会儿 在:
[root@localhost ~]# ll /usr/lib/php/modules/http.so
-rw-r--r-- 1 root root 1274476 06-26 08:56 /usr/lib/php/modules/http.so
存在自己的模块了。(不同系统,位置可能不同),上一步安装完后,会告诉模块所在地址。

3.配制php.ini
加入:
extension=http.so
就ok了。

然后,可以通过php -m  查看下。
 

代码如下:
[root@localhost ~]# php -m
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
eAccelerator
exif
filter
ftp
gd
gettext
gmp
hash
http
 

已经安装成功。
后记:
其它也有源码安装,上pecl.php.net 找到对应源码包解压。
可以通过:pecl install  源码文件。


    
最新技术文章:
▪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