瀏覽代碼

最近n天

wanggangtao 5 年之前
父節點
當前提交
1ca4823591

File diff suppressed because it is too large
+ 1 - 0
api/v1.0/api_boniu_stock_recent_days.php


+ 106 - 0
api/v1.0/demo/api_boniu_stock_recent_days.html

@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>指数历史数据接口</title>
+    <script type="text/javascript" src="js/jquery.1.9.1.min.js"></script>
+    <script type="text/javascript" src="js/func.common.js"></script>
+    <script type="text/javascript" src="js/func.js"></script>
+    <script type="text/javascript" src="js/jquery.md5.js">//$.md5()</script>
+    <script type="text/javascript" src="js/jquery.base64.js">//$.base64.encode()</script>
+    <script src="js/c.js" type="text/javascript"></script>
+    <script src="js/urchin.js" type="text/javascript"></script>
+    <link href="css/s.css" type="text/css" rel="stylesheet">
+    <link href="css/base.css" type="text/css" rel="stylesheet">
+    <script type="text/javascript">
+        $(function(){
+            $('#btn').click(function(){
+                var method = $('input[name="method"]').val();
+                var timestamp = $('input[name="timestamp"]').val();
+                var sign = $.md5(method+timestamp);
+                var code = $('input[name="code"]').val();
+                var start_date = $('input[name="start_date"]').val();
+                var order = $('input[name="order"]').val();
+                var traceback_days = $('input[name="traceback_days"]').val();
+
+
+
+                $('#sign').val(sign);
+                $.ajax({
+                    type : 'POST',
+                    data : {
+                        'method'     : method,
+                        'code'       : code,
+                        'start_date' : start_date,
+                        'traceback_days' : traceback_days,
+                        'order'      : order,
+                        'timestamp'  : timestamp,
+                        'sign'       : sign
+                    },
+                    url : "../api.php",
+                    beforeSend :  function(data){
+
+                        $('#Canvas').html('<p>请求处理中...</p>');
+                    },
+                    success :     function(data){
+//                        alert(data);
+                        Process(data);
+                    },
+                    error :       function(request, errtext, e){
+                        $('#Canvas').html('<p><b>发生错误</b></p><p>'+request.status+'<br/>'+errtext+'</p>');
+                    }
+                });
+            });
+        });
+    </script>
+</head>
+<body>
+<div id="head"><p>股票最近n天的历史数据</p></div>
+<div id="content">
+    <div id="left">
+        <div class ="message"><p>接口返回:</p></div>
+        <div id="Canvas" class="Canvas"></div>
+    </div>
+    <div id="right">
+        <div class ="message"><p>请求数据:</p></div>
+        <form>
+            <p>
+                <span>method:</span>
+                <input type="text" class="input-text"  name="method" value="api_boniu_stock_recent_days"/>
+            </p>
+
+            <p>
+                <span>timestamp:</span>
+                <input type="text" class="input-text"  name="timestamp" value="11111111"/>
+            </p>
+
+            <p>
+                <span>code:</span>
+                <input type="text" class="input-text"  name="code" value="600004"/>
+            </p>
+
+            <p>
+                <span>start_date:</span>
+                <input type="text" class="input-text"  name="start_date" value="2020/11/01"/>
+            </p>
+
+            <p>
+                <span>traceback_days:最近多少天</span>
+                <input type="text" class="input-text"  name="traceback_days" value=20 />
+            </p>
+
+            <p>
+                <span>order:降序-1,升序-0</span>
+                <input type="text" class="input-text"  name="order" value=1 />
+            </p>
+
+            <p>
+                <span>校验码:</span><input type="text" class="input-text" id="sign" readonly/></p>
+            <p><button class="button success small" id="btn" type="button">发送请求</button></p>
+        </form>
+    </div>
+</div>
+
+
+</body>
+</html>

+ 8 - 0
api/v1.0/demo/index.html

@@ -54,6 +54,14 @@
 		<td class="n3"><a href="api_boniu_get_current_day.html" target="_blank">查看Demo</a></td>
 		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
 	</tr>
+
+	<tr>
+		<td class="n1">1.6</td>
+		<td class="n2"><a href="api_boniu_stock_recent_days.html" target="_blank">获取股票最近n天的数据</a></td>
+		<td class="n3"><a href="api_boniu_stock_recent_days.html" target="_blank">查看Demo</a></td>
+		<td class="n4"><a href="#" target="_blank">下载文档</a></td>
+	</tr>
+
 	<tr>
 		<td class="n1">1.5</td>
 		<td class="n2"><a href="api_boniu_get_any_day.html" target="_blank">获取某一天的日k数据</a></td>

+ 6 - 0
lib/day_k.class.php

@@ -16,6 +16,12 @@ class Day_k {
         return $Table_day_k->getInfoById($id);
     }
 
+    static public function stock_recent_days($code,$start_date,$traceback_days,$order)
+    {
+        $Table_day_k = new Table_day_k();
+        return $Table_day_k->stock_recent_days($code,$start_date,$traceback_days,$order);
+    }
+
 
     static public function add($attrs)
     {

+ 34 - 0
lib/table/table_day_k.class.php

@@ -135,6 +135,40 @@ class Table_day_k extends Table {
         $msg=$this->pdo->sqlinsert($this->table_fullname, $param);
         return $msg;
     }
+
+
+    public function stock_recent_days($code,$start_date,$traceback_days,$order)
+    {
+        //查询语句必须用sql_check_input检查参数
+        $stock_code = $this->pdo->sql_check_input(array('string', $code));//类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
+        $sql = "select * from ". $this->table_fullname ." where 1=1 ";
+        $where =" and day_k_code=".$stock_code." and day_k_timestamp <=".$start_date  ;
+        $sql.=$where;
+        $orderInfo=" ORDER BY day_k_date desc";
+        $sql.=$orderInfo;
+        $limit=" limit ".$traceback_days;
+        $sql.=$limit;
+        if($order==1){
+            $sql=   " SELECT a.* FROM "."($sql) a ORDER BY a.day_k_timestamp desc ";
+
+        }else{
+            $sql=   " SELECT a.* FROM "."($sql) a ORDER BY a.day_k_timestamp asc";
+        }
+
+        $rs = $this->pdo->sqlQuery($sql);
+        $r  = array();
+        if($rs){
+            foreach($rs as $key => $val){
+
+                $r[$key] = $this->dataToAttr($val);
+            }
+            return $r;
+        }else{
+            return $r;
+        }
+    }
+
+
     /***
      * @param $code
      * @param $start_date