当前位置:  编程技术>php
本页文章导读:
    ▪亲密接触PHP之PHP语法学习笔记1       一,PHP脚本代码标记 PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是“<%....%>”,PHP可看成是“<?...?>”。 然而为了适应XML标准以将PHP嵌入到XML或XHTML中,PHP不建议使用短格式.........
    ▪PHP读MYSQL中文乱码的解决方法       打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。   以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,.........
    ▪落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码       绝对原创   测试地址: http://www.mlmm.cn/mypage/?name=ceshi 测试页代码: 代码如下:<html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  <title>php+ajax动态生.........

[1]亲密接触PHP之PHP语法学习笔记1
    来源: 互联网  发布时间: 2013-11-30
一,PHP脚本代码标记

PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是“<%....%>”,PHP可看成是“<?...?>”。

然而为了适应XML标准以将PHP嵌入到XML或XHTML中,PHP不建议使用短格式的“<?...?>”,而建议使用长格式标记“<?php...?>”

此外PHP代码块还支持 <script language="php">...</script>的标记形式。


二,PHP指令分隔符

PHP的每条语句需要由分号“;”隔开,但对于PHP结束标记“?>”来说,因其自动隐含一个分号,所以不需要追加分号。

所以,一个PHP脚本的格式可如下:


<?php
/*
............ ;
............ ;
............ ;
............ 
*/
//注意最后一行可以没有分号
?>

 


三,PHP的注释

PHP多行注释使用 “/* ......... */”

单行注释使用“#”或“//”


四,PHP的输出

ASP中使用“<%=...%>”快速输出单行,或使用“<%Response.Write("...")%>” 

在PHP中直接使用“echo()”或“print()”,比如:


<?php
echo "a";
echo (b);
echo ("c");
echo d;
?>

 

将输出为“abcd”,以上四种均能正常输出。

但这在ASP中,尤其是 echo "a";和 echo d; 均输出为字符串本身,是不可能的。这就需要了解到PHP的变量定义。


五,PHP的变量

和ASP一样,PHP变量也可以不需要先定义,直接使用即可。对于变量的类型,在赋值时自动生成。

PHP中的各种变量均在变量名前加上“$”以示区别。


<?php
$a="123";
echo a;
echo $a;
?>

 

输入为“a123”

六,PHP中的单引号和双引号之别


<?php
$a="123";
echo "$a";
echo '$a';
?>

 

输出为“123$a”,其中 echo "$a" 输出了变量a的值,而 echo '$a' 输出的是单引号中的字符串本身。


<?php
$a="123";
echo "$a'$a'";
?>

 

则输出为“123'123'”并不是“123$a”。虽然是'$a',但置于双引号下变量还是被替换了。

所以,可以得出:只要是双引号中内容中的变量,都会被替代;而单引号中的则不作任何替换。

双引号中的内容需转义的,使用“\”前缀,比如“\\”,“\$”、“\"”。所以要输入“123$a”,则为


<?php
$a="123";
echo "$a\$a";
?>

 

再比如:


<?php
$a="123";
echo "$a\$a\"\\";
?>

 

输出为“123$a"\”。


ASP转学PHP需要注意:

1,分隔符逗号“;”容易忘记写。
2,变量的定义和使用。
3,单引号和双引号的用法。

    
[2]PHP读MYSQL中文乱码的解决方法
    来源: 互联网  发布时间: 2013-11-30
打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。

  以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。

  只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

    
[3]落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
    来源: 互联网  发布时间: 2013-11-30
绝对原创  
测试地址: http://www.mlmm.cn/mypage/?name=ceshi

测试页代码:
代码如下:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>php+ajax动态生成下拉菜单</title> 
<script language="JavaScript" src="/include/js/regions.js"></script>
</head> 
<body> 
<form name="form1" method="post" action=""> 
<tr><td>{$regionss(中华人民共和国)}</td></tr>
</form>
</body> 
</html>

regionss 函数代码:
QUOTE:
代码如下:
//省市地3级联动下拉菜单函数 regionss 省.市.地   
function regionss($country="中华人民共和国")  
{       
        global $db; $i = 1; 
        $text="<select id=\"select1\" name=\"select1\" onchange=\"startRequest()\" width:90px;\"><option value=\"\">省/市/自治区</option>\n"; 

        $result = $db->query("SELECT province FROM ".TABLE_PROVINCE." WHERE country='$country' ORDER BY provinceid"); 
        while($r = $db->fetch_array($result)) 
         { 
  $text .= "<option value=".$r['province'].">".$r['province']."</option> "; 
  $i++; 
         } 
        $text.="</select>";  
        $text.="&nbsp<select id=\"select2\" name=\"select2\" onchange=\"startRequesta()\" width:90px;\"><option value=\"\">市/县/区</option></select>\n"; 
        $text.="<select id=\"select3\" name=\"select3\" width:90px;\"><option value=\"\">县级市/县</option></select>\n";    
        return $text; 


regions.js 的代码:



代码如下:
//var ab = new Array();  
var xmlHttp;  
var xmlHttpa; 
function createXMLHttpRequest() {  
    if (window.ActiveXObject) {  
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
    }   
    else if (window.XMLHttpRequest) {  
        xmlHttp = new XMLHttpRequest();  
    }  
}  
function createXMLHttpRequesta() {  
    if (window.ActiveXObject) {  
        xmlHttpa = new ActiveXObject("Microsoft.XMLHTTP");  
    }   
    else if (window.XMLHttpRequest) {  
        xmlHttpa = new XMLHttpRequest();  
    }  
}   

function startRequest() {  
    createXMLHttpRequest();  
    createXMLHttpRequesta();  
    xmlHttp.onreadystatechange = handleStateChange;  
    xmlHttpa.onreadystatechange = handleStateChangearea;  
    document.getElementById('select2').options.length = 0;  
    document.getElementById('select3').options.length = 0; 
    var url = document.form1.select1.value;  
    var qurl = "/regions.php?province="+url+"&time="+new Date().getTime();  
    xmlHttp.open("GET", qurl, true);  
    xmlHttp.send(null);  
    //setTimeout("startRequest()",2000);  
}  

function handleStateChange() {  
    if(xmlHttp.readyState == 4) {  
        if(xmlHttp.status == 200) {  
         var obj = document.getElementById('select2'); //将服务器返回的字符串写到页面中ID为select2的区域     
            obja = document.getElementById('select3'); //将服务器返回的字符串写到页面中ID为select3的区域    
            eval(xmlHttp.responseText);    

        }  
    }  
}  
function handleStateChangearea() {          
            eval(xmlHttpa.responseText);           
}  
//var ab = new Array();  

function startRequesta() {  
    createXMLHttpRequesta();  
    xmlHttpa.onreadystatechange = handleStateChangea;  
    document.getElementById('select3').options.length = 0;  
    var url = document.form1.select2.value;  
    var qurl = "/regions.php?city="+url+"&time="+new Date().getTime();  
    xmlHttpa.open("GET", qurl, true);  
    xmlHttpa.send(null);  
    //setTimeout("startRequest()",2000);  
}  

function handleStateChangea() {  
    if(xmlHttpa.readyState == 4) {  
        if(xmlHttpa.status == 200) {  
         var obja = document.getElementById('select3');  
            eval(xmlHttpa.responseText);   
        //将服务器返回的字符串写到页面中ID为select3的区域 

        }  
    }  

数据岛 regions.php 页面代码



代码如下:
<?php  
require "common.php";  
$city = $city ? $city : ""; 
$area = $area ? $area : ""; 
if($province && $city==''){ 
  global $db; $i = 1; 

  $result = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE province='$province' ORDER BY cityid"); 
  while($r = $db->fetch_array($result)) 
    { 
       $r[city]=iconv('gb2312','UTF-8',$r[city]); 
echo "obj.options[obj.options.length] = new Option('".$r[city]."','".$r[city]."');\n";  
$i++; 
    } 
  $resultarea = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE province='$province' ORDER BY cityid"); 
  $r = $db->fetch_array($resultarea); 
  $city = $r[city]; 
  $resulta = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid"); 
   while($ra = $db->fetch_array($resulta)) 
    { 
       $ra[area]=iconv('gb2312','UTF-8',$ra[area]); 
echo "obja.options[obja.options.length] = new Option('".$ra[area]."','".$ra[area]."');\n";  
$i++; 
    } 



if($city && $province==''){ 
   global $db; $i = 1; 

   $result = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid"); 
   while($r = $db->fetch_array($result)) 
    { 
       $r[area]=iconv('gb2312','UTF-8',$r[area]); 
echo "obja.options[obja.options.length] = new Option('".$r[area]."','".$r[area]."');\n";  
$i++; 
    } 

?> 

地址信息数据库:

     采用的是phpcms3.0里自带的数据库,我没有进行任何改动

本程序可以在phpcms3.0里直接使用,若在其他地方使用请自己修改

    
最新技术文章:
▪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文件下载(防止中文文件名乱码)的示例代码
java开发知识 iis7站长之家
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


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

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

浙ICP备11055608号-3