import csv

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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?
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post by bertfour »

Did you try it?
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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???
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post by bertfour »

You forgot a bracket... at the end...
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post 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?
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post 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..
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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???)
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post by bertfour »

I don't see an "hr" there.... :roll:
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post 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???
bertfour
Forum Commoner
Posts: 45
Joined: Fri Mar 07, 2008 7:33 am

Re: import csv

Post 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', '', ''
);
 
Last edited by bertfour on Sat Mar 08, 2008 9:57 am, edited 1 time in total.
samUK
Forum Newbie
Posts: 18
Joined: Fri Mar 07, 2008 12:31 pm

Re: import csv

Post by samUK »

yeah cos my script worked fine before i copied your code into it
Post Reply