-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinsertLiveData.php
executable file
·72 lines (55 loc) · 2.48 KB
/
insertLiveData.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
//
// Takes in a symbol and a date;
// returns the Yahoo Finance Historical data for that single date
// If there's no data, the array is empty.
//
require_once 'login.php';
$conn = new mysqli($hn, $un, $pw, $db);
if ($conn->connect_error) die($conn->connect_error);
$query = "CREATE TABLE IF NOT EXISTS live_data (
id SMALLINT NOT NULL AUTO_INCREMENT,
symbol VARCHAR(10) NOT NULL,
lastvalue float(8,2),
date date,
lcltime varchar(15),
chnge float(8,2),
openvalue float(8,2),
mxvalue float(8,2),
mnvalue float(8,2),
volume float(18,2),
PRIMARY KEY (id)
)";
$result = $conn->query($query);
if (!$result) die ("Database access failed: " . $conn->error);
$url=array();
$url['YHOO'] = "http://download.finance.yahoo.com/d/quotes.csv?s=YHOO&f=sl1d1t1c1ohgv&e=.csv";
$url['GOOG'] = "http://download.finance.yahoo.com/d/quotes.csv?s=GOOG&f=sl1d1t1c1ohgv&e=.csv";
$url['MSFT'] = "http://download.finance.yahoo.com/d/quotes.csv?s=MSFT&f=sl1d1t1c1ohgv&e=.csv";
$url['AMZN'] = "http://download.finance.yahoo.com/d/quotes.csv?s=AMZN&f=sl1d1t1c1ohgv&e=.csv";
$url['BAC'] = "http://download.finance.yahoo.com/d/quotes.csv?s=BAC&f=sl1d1t1c1ohgv&e=.csv";
$query = "DELETE from live_data";
$result = $conn->query($query);
if (!$result) die ("Database access failed: " . $conn->error);
foreach($url as $key => $value){
$return_data = @file_get_contents($value);
$parts = explode("\n", $return_data);
$eachrow='';
foreach($parts as $row) {
$eachrow= explode(",", $row);
if(!empty($eachrow)&& array_filter($eachrow)){
if(isset($eachrow[1]))$row1 = floatval(str_replace(',', '.', $eachrow[1]));
if(isset($eachrow[2])) $row2 = $eachrow[2];
if(isset($eachrow[3])) $row3=$eachrow[3];
if(isset($eachrow[4])) $row4 = floatval(str_replace(',', '.', $eachrow[4]));
if(isset($eachrow[5])) $row5 = floatval(str_replace(',', '.', $eachrow[5]));
if(isset($eachrow[6])) $row6 = floatval(str_replace(',', '.', $eachrow[6]));
if(isset($eachrow[7])) $row7 = floatval(str_replace(',', '.', $eachrow[7]));
if(isset($eachrow[8])) $row8 = floatval(str_replace(',', '.', $eachrow[8]));
$query = "INSERT INTO live_data(id,symbol,lastvalue,date,lcltime,chnge,openvalue,mxvalue,mnvalue,volume) VALUES(NULL,'$key' ,$row1,STR_TO_DATE($row2, '%m/%d/%Y'),$row3,$row4,$row5,$row6,$row7,$row8)";
$result = $conn->query($query);
if (!$result) die ("Database access failed: " . $conn->error);
}
}
}
?>