当前位置: 编程技术>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,单引号和双引号的用法。
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'");
以前的国外主机用的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:
regions.js 的代码:
数据岛 regions.php 页面代码
地址信息数据库:
采用的是phpcms3.0里自带的数据库,我没有进行任何改动
本程序可以在phpcms3.0里直接使用,若在其他地方使用请自己修改
测试地址: 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.=" <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;
}
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.=" <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的区域
}
}
}
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++;
}
}
?>
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里直接使用,若在其他地方使用请自己修改
最新技术文章: