根据域名调用城市信息[全国二级域名]

 更新时间:2016年11月25日 15:59  点击:2284

根据域名调用城市信息[全国二级域名]
本文章为你做一个页面,根据用户输入的域名调用不同城市的信息
function getServerName()
 {
  $ServerName = strtolower($_SERVER['SERVER_NAME']?$_SERVER['SERVER_NAME']:$_SERVER['HTTP_HOST']);
  if( strpos($ServerName,'http://') )
  {   
   return str_replace('http://','',$ServerName);
  }  
  return $ServerName;
 }
  
 /*
  @取得城市编号
  #$sn string
  #return int;
 */
 
 function getDomainCity( $sn )
 {
  if( empty( $sn ) )
  {
   return 0;
  }
  else
  {
   $Db = new Db();
   $sql = "Select id,domain from cityid where domain='$sn' limit 1";
   $query = $Db->query( $sql );
   if( $Db->row )
   {
    $rs = $Db->fetch( $query);
    return $rs[0];
   }
   else
   {
    return 0;
   }
  }
 }

HTML代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> AJAX JSON DEMO </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script src="js/jquery1.2.6.js" type="text/javascript"></script>
  <style type="text/css">
              .json{width:80px; height:22px; line-height:22px; text-align:center; background:#999; color:white; font-size:14px; display:block; cursor:hand;}
              .content{border:1px solid #999;padding:1em;margin:1em;font-size:14px;color:black;}
  </style>
</HEAD>

<BODY>

<script>
(function($){
       $.fn.RichmondJson = function(ajaxDiv)
       {
              $.ajax({
                     url : 'data.php',
                     type : 'get',
                     dataType : 'json',
                     data : {'inajax':1},
                     timeout : 3000,
                     cache : false,
                     complete : function(){},
                     success : function(data)
                     {
                            var s = '';
                            $.each(data,function()
                            {
                                   s += '<p>姓名:'+this.name+' 昵称:'+this.nick+'</p>';
                                         
                            });
                            $(s).appendTo('#'+ajaxDiv);
                     }
              });
       }
})(jQuery);
</script>

<script>
       function Richmond()
       {
              var rm = new Object;
              rm.loaded = false;
              rm.json = function()
              {
                     if(!rm.loaded)
                     {
                            jQuery(this).RichmondJson.apply(this,arguments);
                            rm.loaded = !rm.loaded;
                     }
                     else
                     {
                            alert('无需重复加载!');
                            return false;
                     }
              }

              return rm;
       }

       var myobj = new Richmond();
      
</script>

jQuery框架AJAX返回JSON数据
<div id="content" class="content"></div>
<a href="javascript:myobj.json('content')" class="json">JSON</a>

</BODY>
</HTML>

PHP代码:
<?php
if($_GET['inajax'])
{

$arr = array(     
       array('name' => 'Richmond', 'nick' => iconv('gbk','utf-8','财富星空')),
       array('name' => '343548', 'nick' => iconv('gbk','utf-8','笨笨草')),
       array('name' => 'iceblue', 'nick' => iconv('gbk','utf-8','冰蓝'))
);
$json_string = json_encode($arr);
echo $json_string;

//echo '<br><br><br>';
//$obj = json_decode($json_string,true);
//print_r($obj);

}
?>

php+mysql第一条数据无法显示的原因和解决方法

while($row=@mysql_fetch_row($result))”读取数据之前,已经使用“if(@mysql_fetch_row($result))”对有无符合条件的数据进行了一次判断,使指针指向了第二条数据。

  解决方法:判断有无符合条件的数据时,使用“if(@mysql_num_rows($result))”,代码如下:

<?php
if(@mysql_num_rows($result)){
 while($row=@mysql_fetch_row($result)){
  print_r($row);
 }
 mysql_free_result($result);
}else{
 echo "没有符合条件的数据";
}
?>

php 定义php代码运行时间
定义和用法
time_sleep_until() 函数延迟代码执行直到指定的时间。

语法
time_sleep_until(timestamp)

参数 描述
timestamp 必需。脚本唤醒时的时间戳。

说明
使脚本暂停执行,直到指定的 timestamp。

返回值
如果成功则返回 TRUE,失败则返回 FALSE。

错误/异常
如果指定的时间戳位于过去,则该函数将生成一个 E_WARNING。

提示和注释
注释:所有信号都将在脚本唤醒后递送。

注释:本函数未在 Windows 平台下实现。

time_sleep_until
(PHP 5 >= 5.1.0)

time_sleep_until — Make the script sleep until the specified time
设置脚本延迟执行的时间

<?php
if (!function_exists('time_sleep_until')) {
    function time_sleep_until($future) {
        if ($future < time()) {
            trigger_error("Time in past", E_USER_WARNING);
            return false;
        }
        sleep($future - time());
        return true;
    }
}
?>

<?php
//Implementation for < 5.1 or Windows users
if (!function_exists('time_sleep_until')) {
   function time_sleep_until($future) {
       if ($future < time()) {
           trigger_error("Time in past", E_USER_WARNING);
           return false;
       }
       usleep(($future - microtime(1))*1000000);
       return true;
   }
}
?>

<?php
//returns false and generates a warning
var_dump(time_sleep_until(time()-1));
// may only work on faster computers, will sleep up to 0.2 seconds
var_dump(time_sleep_until(time()+0.2));
?>

<?php
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2004 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 3.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/3_0.txt.                                  |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Arpad Ray <arpad@php.net>                                   |
// +----------------------------------------------------------------------+
//
// $Id: time_sleep_until.php,v 1.2 2005/12/07 21:08:57 aidan Exp $

/**
* Replace time_sleep_until()
*
* @category    PHP
* @package     PHP_Compat
* @link        http://php.net/time_sleep_until
* @author      Arpad Ray <arpad@php.net>
* @version     $Revision: 1.2 $
* @since       PHP 5.1.0
* @require     PHP 4.0.1 (trigger_error)
*/
if (!function_exists('time_sleep_until')) {
    function time_sleep_until($timestamp)
    {
            list($usec, $sec) = explode(' ', microtime());
        $now = $sec + $usec;
        if ($timestamp <= $now) {
            user_error('Specified timestamp is in the past', E_USER_WARNING);
            return false;
        }
        $diff = $timestamp - $now;
        usleep($diff * 1000000);
        return true;
    }
}
?>

php 简单简洁分页类
<?php
/**
 *-------------------------翻页类----------------------*
 */
class PageClass
{
 private $myde_count;       //总记录数
 var $myde_size;        //每页记录数
 private $myde_page;        //当前页
 private $myde_page_count;  //总页数
 private $page_url;         //页面url
 private $page_i;           //起始页
 private $page_ub;          //结束页
 var $page_limit;
 
 function __construct($myde_count=0, $myde_size=1, $myde_page=1,$page_url)//构造函数
 { 
  
  $this -> myde_count = $this -> numeric($myde_count);
  $this -> myde_size  = $this -> numeric($myde_size);
  $this -> myde_page  = $this -> numeric($myde_page);
  $this -> page_limit = ($this -> myde_page * $this -> myde_size) - $this -> myde_size;
  
  $this -> page_url       = $page_url;
  
  if($this -> myde_page < 1) $this -> myde_page =1;
  
  if($this -> myde_count < 0) $this -> myde_page =0;
  
  $this -> myde_page_count  = ceil($this -> myde_count/$this -> myde_size);
  
  if($this -> myde_page_count < 1) $this -> myde_page_count = 1;
  
  if($this -> myde_page > $this -> myde_page_count) $this -> myde_page = $this -> myde_page_count;
  
  $this -> page_i = $this -> myde_page - 2;
  
        $this -> page_ub = $this -> myde_page + 2;
  
        if($this -> page_i < 1){
  
            $this -> page_ub = $this -> page_ub + (1 - $this -> page_i);
   
            $this -> page_i = 1;
        }
       
        if($this -> page_ub > $this -> myde_page_count){
  
            $this -> page_i = $this -> page_i - ($this -> page_ub - $this -> myde_page_count);
   
            $this -> page_ub = $this -> myde_page_count;
   
            if($this -> page_i < 1) $this -> page_i = 1;
        }
 }
 
 
 private function numeric($id) //判断是否为数字
 {
  if (strlen($id)){
      if (!ereg("^[0-9]+$",$id)){
    $id = 1;
      }else{
    $id = substr($id,0,11);
    }
  }else{
   $id = 1;
  }
  return $id;
 }
 
 private function page_replace($page) //地址替换
 {
  return str_replace("{page}", $page, $this -> page_url);
 }
 
 
 private function myde_home() //首页
 {
  if($this -> myde_page != 1){
  
   return "    <li class="page_a"><a href="".$this -> page_replace(1).""  title="首页" >首页</a></li>n";
   
  }else{
  
   return "    <li>首页</li>n";
   
  }
 }
 
 private function myde_prev() //上一页
 {
  if($this -> myde_page != 1){
  
   return "    <li class="page_a"><a href="".$this -> page_replace($this->myde_page-1) .""  title="上一页" >上一页</a></li>n";
   
  }else{
  
   return "    <li>上一页</li>n";
   
  }
 }
 
 private function myde_next() //下一页
 {
  if($this -> myde_page != $this -> myde_page_count){
  
    return "    <li class="page_a"><a href="".$this -> page_replace($this->myde_page+1) .""  title="下一页" >下一页</a></li>n";
    
  }else{
  
   return "    <li>下一页</li>n";
   
  }
 }
 
 private function myde_last() //尾页
 {
  if($this -> myde_page != $this -> myde_page_count){
  
    return "    <li class="page_a"><a href="".$this -> page_replace($this -> myde_page_count).""  title="尾页" >尾页</a></li>n";
    
  }else{
  
   return "    <li>尾页</li>n";
   
  }
 }
 
 function myde_write($id='page') //输出
 {
  $str  = "<div id="".$id."" class="pages">n  <ul>n  ";
  
  $str .= "  <li>总记录:<span>".$this -> myde_count."</span></li>n";
  
  $str .= "    <li><span>".$this -> myde_page."</span>/<span>".$this -> myde_page_count."</span></li>n";
  
  $str .= $this -> myde_home();
  
  $str .= $this -> myde_prev();
  
  for($page_for_i = $this -> page_i;$page_for_i <= $this -> page_ub; $page_for_i++){
  
   if($this -> myde_page == $page_for_i){
   
             $str .= "    <li class="on">".$page_for_i."</li>n";
    
   }
   
   else{
   
    $str .= "    <li class="page_a"><a href="".$this -> page_replace($page_for_i)."" title="第".$page_for_i."页">";
    
    $str .= $page_for_i . "</a></li>n";
    
   }
        }
  $str .= $this -> myde_next();
  
  $str .= $this -> myde_last();
  
  $str .= "    <li class="pages_input"><input type="text" value="".$this -> myde_page.""";
  
  $str .= " onkeydown="javascript: if(event.keyCode==13){ location='";
  
  $str .= $this -> page_replace("'+this.value+'")."';return false;}"";
  
  $str .= " title="输入您想要到达的页码" /></li>n";
  
  $str .= "  </ul>n  <div class="page_clear"></div>n</div>";
  
  return $str;
 }
}
/*-------------------------实例--------------------------------*
$page = new PageClass(1000,5,$_GET['page'],'?page={page}');//用于动态
$page = new PageClass(1000,5,$_GET['page'],'list-{page}.html');//用于静态或者伪静态
$page -> myde_write();//显示
*/
?>

[!--infotagslink--]

相关文章

  • Spring AOP 对象内部方法间的嵌套调用方式

    这篇文章主要介绍了Spring AOP 对象内部方法间的嵌套调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-29
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • c# 三种方法调用WebService接口

    这篇文章主要介绍了c# 三种方法调用WebService接口的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-07
  • js实现调用网络摄像头及常见错误处理

    这篇文章主要介绍了js实现调用网络摄像头及常见错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-07
  • c#动态调用Webservice的两种方法实例

    这篇文章介绍了c#动态调用Webservice的两种方法实例,有需要的朋友可以参考一下...2020-06-25
  • c#中WebService的介绍及调用方式小结

    这篇文章主要给大家介绍了关于c#中的WebService及其调用方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • 解决Vue watch里调用方法的坑

    这篇文章主要介绍了解决Vue watch里调用方法的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-07
  • 解决vue watch数据的方法被调用了两次的问题

    这篇文章主要介绍了解决vue watch数据的方法被调用了两次的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-07
  • C#中加载dll并调用其函数的实现方法

    下面小编就为大家带来一篇C#中加载dll并调用其函数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 详解nginx同一端口监听多个域名和同时监听http与https

    这篇文章主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下...2017-07-06
  • PHP调用MySQL存储过程并返回值实现程序

    本文章来给大家详细介绍在php中如何来调用执行mysql存储过程然后返回由存储过程返回的值了,有需要了解的同学可进入参考。 。调用存储过程的方法。 a。如果存储过...2016-11-25
  • C#异步调用的好处和方法分享

    我们要明确,为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了...2020-06-25
  • C#调用python脚本的方法步骤(2种)

    这篇文章主要介绍了C#调用python脚本的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • javascript实现方法调用与方法触发小结

    这篇文章主要介绍了javascript实现方法调用与方法触发小结的相关资料,需要的朋友可以参考下...2016-03-30
  • 浅谈PHP调用Webservice思路及源码分享

    方法一:直接调用复制代码 代码如下:<? /******************************************************************************/ /* 文件名 : soapclient.php /* 说 明 : WebService接口客户端例程 /****************...2014-06-07
  • 基于C#调用c++Dll结构体数组指针的问题详解

    下面小编就为大家分享一篇基于C#调用c++Dll结构体数组指针的问题详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • C# Soap调用WebService的实例

    下面小编就为大家带来一篇C# Soap调WebService的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • Python调用.NET库的方法步骤

    这篇文章主要介绍了Python调用.NET库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-09
  • 基于C#调用OCX控件的常用方法(推荐)

    下面小编就为大家分享一篇基于C#调用OCX控件的常用方法推荐,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • C#访问及调用类中私有成员与方法示例代码

    访问一个类的私有成员不是什么好做法,大家也都知道私有成员在外部是不能被访问的,这篇文章主要给大家介绍了关于C#访问及调用类中私有成员与方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2020-06-25