zoukankan      html  css  js  c++  java
  • 實現一個天氣預報折現圖功能

     1 <?php
     2 //接收地址
     3 isset($_GET['search'])?$search=$_GET['search']:$search = "shanghai";
     4 // 查詢url
     5 $url = "http://api.k780.com:88/?app=weather.future&weaid={$search}&&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json";
     6 $arr = file_get_contents($url);
     7 $json = json_decode($arr,true);
     8 $jsonstr = $json['result'];
     9 // 遍歷 星期  地區  溫度   入庫
    10 foreach ($jsonstr as $key=>$val){
    11     $week[] = $val['week'];
    12     $cityno[] = $val['cityno'];
    13     $citynm[] = $val['citynm'];
    14     $temperature[] = $val['temperature'];
    15     $temperaturearr[] = array((int)$val['temp_low'],(int)$val['temp_high']);
    16 }
    17 //循環添加入庫
    18 $pdo = new PDO("mysql:host=127.0.0.1","root","root");
    19 for ($i=0;$i<=6;$i++){
    20     $sql = "insert into `mouth861a` (week,cityno,citynm,temperature) values ('$week[$i]','$cityno[$i]','$citynm[$i]','$temperature[$i]')";
    21     $pdo->exec($sql);
    22 }
    23 $data['week'] = $week;
    24 $data['temp_low'] = $temperaturearr;
    25 $data['search'] = $search;
    26 echo json_encode($data);
    27 //echo "<pre>";
    28 //var_dump($data);
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>天氣預報搜索</title>
     6     <script src="jquery-3.3.1.min.js"></script>
     7     <script src="https://img.highcharts.com.cn/highcharts/highcharts.js"></script>
     8     <script src="https://img.highcharts.com.cn/highcharts/highcharts-more.js"></script>
     9     <script src="https://img.highcharts.com.cn/highcharts/modules/exporting.js"></script>
    10     <script src="https://img.hcharts.cn/highcharts-plugins/highcharts-zh_CN.js"></script>
    11 </head>
    12 <body>
    13 <center>
    14     <h1>天氣預報</h1>
    15     <input type="text" id="search">
    16 </center>
    17 <div id="container" style="min- 310px; height: 400px; margin: 0 auto"></div>
    18 <script>
    19     // JS 代码
    20     //構造天氣預報溫度方法
    21     function weekweudu(data) {
    22         var chart = Highcharts.chart('container', {
    23             chart: {
    24                 type: 'columnrange', // columnrange 依赖 highcharts-more.js
    25                 inverted: true
    26             },
    27             title: {
    28                 text: '温度变化范围'
    29             },
    30             subtitle: {
    31                 text: data.search
    32             },
    33             xAxis: {
    34                 categories: data.week
    35             },
    36             yAxis: {
    37                 title: {
    38                     text: '温度 ( °C )'
    39                 }
    40             },
    41             tooltip: {
    42                 valueSuffix: '°C'
    43             },
    44             plotOptions: {
    45                 columnrange: {
    46                     dataLabels: {
    47                         enabled: true,
    48                         formatter: function () {
    49                             return this.y + '°C';
    50                         }
    51                     }
    52                 }
    53             },
    54             legend: {
    55                 enabled: false
    56             },
    57             series: [{
    58                 name: '温度',
    59                 data: data.temp_low
    60             }]
    61         });
    62     }
    63 </script>
    64 </body>
    65 </html>
    66 <script>
    67     $(document).on("blur","#search",function () {
    68         //接收id值
    69         var search = $("#search").val();
    70         //失焦事件判断文本框内容不能为空
    71         if (search==""){
    72             alert("文本框内容不能为空");
    73         }
    74         //判断文本值长度不能大于30字符
    75         if (search.length>30){
    76             alert("文本值长度不能大于30字符");
    77         }
    78         //判断文本值必须为数字/字母/汉字
    79         if (!/[d]|[A-Za-z]|[u4e00-u9fa5]/.test(search)){
    80             alert("文本值必须为数字/字母/汉字");
    81         }
    82         $.ajax({
    83             url:"search.php",
    84             data:{
    85                 search:search,
    86             },
    87             success:function (data) {
    88                 // console.log(data);
    89                 var data=JSON.parse(data);
    90                 // console.log(data);
    91                 //調用天氣預報方法
    92                 weekweudu(data);
    93             }
    94         })
    95     })
    96 </script>
  • 相关阅读:
    软件测试工程师linux十大场景命令使用
    用yum安装软件显示错误:cannot find a valid baseurl for repo: base
    Redis安装、启动与多端口配置
    Linux vi编辑器
    cookie 和session、三种保持登陆会话的方式
    服务器内存溢出问题
    selenium多窗口切换
    Turtle库的学习积累
    高频ES6
    事件冒泡和捕获的执行顺序
  • 原文地址:https://www.cnblogs.com/songbao/p/11226209.html
Copyright © 2011-2022 走看看