Page 2 of 2

Re: import csv

Posted: Sat Mar 08, 2008 8:17 am
by samUK
iv created a table with two fields, ID and time.

Code: Select all

CREATE TABLE `time` (
  `ID` varchar(1) NOT NULL,
  `minutes` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
 
and have put your code in my imort script,

Code: Select all

<?php
$query = "SELECT * FROM time WHERE ID = 1 ";
$result=mysql_db_query ($$dbdatabase, $query, $db);
$currRow = mysql_fetch_array ($result) ;
$hrnow = date('H');
$daynow = date('D');
$lastupper=$currRow['hr'];
 
if (($hrnow <> $lastupper) AND ($daynow <> "Sat" AND $daynow <> "Sun")) {
 
 $db=mysql_connect ($dbhost, $dbuser, $dbpassword);
 $hquery = "UPDATE time SET hr=$hrnow WHERE ID = 1" ;
 $hresult=mysql_db_query ($dbdatabase, $hquery, $db);
 
session_start();
require("connect.php");
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
 
 
$filename="http://uk.old.finance.yahoo.com/d/quotes.csv?s=@%5EFTSE&f=sl1d1t1c1ohgv&e=.csv";
$handle = fopen("$filename", "r");
// print "<pre>";
 
 
$sql="TRUNCATE TABLE stocks";
 
$result=mysql_db_query ($dbdatabase, $sql, $db);
 
 
 
 
 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
 
$import="INSERT into stocks(name, currentprice, time, date, percentage, previousprice1, previousprice2, previousprice3, other ) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]')";
 
$result=mysql_db_query ($dbdatabase, $import, $db);
 
// print_r($data);
}
// print "</pre>";
?>

Am i doing this right? How do i change it so it updates every 20mins or so?

Re: import csv

Posted: Sat Mar 08, 2008 8:21 am
by bertfour
Did you try it?

Re: import csv

Posted: Sat Mar 08, 2008 8:27 am
by samUK
Parse error: parse error, unexpected $end in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 43

i get this error msg???

Re: import csv

Posted: Sat Mar 08, 2008 8:41 am
by bertfour
You forgot a bracket... at the end...

Re: import csv

Posted: Sat Mar 08, 2008 9:03 am
by samUK

Code: Select all

<?php
session_start();
require("connect.php");
 
$query = "SELECT * FROM time WHERE ID = 1 ";
$result=mysql_db_query ($dbdatabase, $query, $db);
$currRow = mysql_fetch_array ($result) ;
$hrnow = date('H');
$daynow = date('D');
$lastupper=$currRow['hr'];
 
if (($hrnow <> $lastupper) AND ($daynow <> "Sat" AND $daynow <> "Sun")) {
 
 $db = mysql_connect($dbhost, $dbuser, $dbpassword);
 $hquery = "UPDATE time SET hr=$hrnow WHERE ID = 1" ;
 $hresult=mysql_db_query ($dbdatabase, $hquery, $db);
 
 
 $db = mysql_connect($dbhost, $dbuser, $dbpassword);
 mysql_select_db($dbdatabase, $db);
 
 
$filename="http://uk.old.finance.yahoo.com/d/quotes.csv?s=@%5EFTSE&f=sl1d1t1c1ohgv&e=.csv";
$handle = fopen("$filename", "r");
// print "<pre>";
 
 
$sql="TRUNCATE TABLE stocks";
 
$result=mysql_db_query ($dbdatabase, $sql, $db);
 
 
 
 
 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
 
$import="INSERT into stocks(name, currentprice, time, date, percentage, previousprice1, previousprice2, previousprice3, other ) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]')";
 
$result=mysql_db_query ($dbdatabase, $import, $db);
 }
// print_r($data);
}
// print "</pre>";
?>
I now get this error msg???

Notice: Undefined variable: db in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 6

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 6

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 7

Re: import csv

Posted: Sat Mar 08, 2008 9:22 am
by bertfour
Ignore the notices....

Add:

Code: Select all

error_reporting(E_ALL ^ E_NOTICE);
at the beginning of your script...

Does the "time" table exist?

Re: import csv

Posted: Sat Mar 08, 2008 9:27 am
by samUK
ok, i put in that code,

and i still get this,

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 6

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\FinalMajorProject\import.php on line 7

My time table def exists

Re: import csv

Posted: Sat Mar 08, 2008 9:31 am
by bertfour
samUK wrote: My time table def exists
And the "hr" is there too?

This message means that something is wrong with the query, eg table or something doesn't exist..

Re: import csv

Posted: Sat Mar 08, 2008 9:35 am
by samUK
This is the structure of my table,

CREATE TABLE `time` (
`ID` varchar(1) NOT NULL,
`minutes` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


do i need more rows, if so what do i call them? (date,hour???)

Re: import csv

Posted: Sat Mar 08, 2008 9:37 am
by bertfour
I don't see an "hr" there.... :roll:

Re: import csv

Posted: Sat Mar 08, 2008 9:46 am
by samUK
CREATE TABLE `time` (
`ID` varchar(1) NOT NULL,
`minutes` varchar(250) NOT NULL,
`hr` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


still dosent work???

Re: import csv

Posted: Sat Mar 08, 2008 9:54 am
by bertfour
You connect to the right DB?

You inserted one row with ID =1 ?

Code: Select all

 
INSERT INTO `csvtest`.`time` (
`ID` ,
`minutes` ,
`hr`
)
VALUES (
'1', '', ''
);
 

Re: import csv

Posted: Sat Mar 08, 2008 9:56 am
by samUK
yeah cos my script worked fine before i copied your code into it