ok here is what I came up with:
How's this?
function HistoricalStock($sym) {
 $row = 1;
 $Data =
fopen("http://table.finance.yahoo.com/table.csv?a=7&b=1&c=2002&d=7&e=17&f=20
02&s=$sym&y=0&g=d&ignore=.csv","r");
 print '<table width="100%" border="0" cellspacing="1" cellpadding="0"
bgcolor="#6699cc"><tr bgcolor="#FFFFFF">';

 while ($Line = fgetcsv ($Data, 1000, ",")) {
  if($row == 1) {
   echo "<tr bgcolor=\"#FFFFFF\"> <td><b>$Line[0]</b></td>
<td><b>$Line[1]</b></td> <td><b>$Line[2]</b></td>
         <td><b>$Line[3]</b></td> <td><b>$Line[4]</b></td>
<td><b>$Line[5]</b></td></tr>";
           }
  else {
   echo "<tr bgcolor=\"#FFFFFF\"> <td>$Line[0]</td> <td>Line[1]</td>
<td>$Line[2]</td>
           <td>$Line[3]</td> <td>$Line[4]</td> <td>$Line[5]</td></tr>";
        }
  $row++;
  }

 print '</table>';
 fclose($Data);
}

"Analysis & Solutions" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> On Thu, Jul 18, 2002 at 10:14:25AM -0400, Chris Crane wrote:
>
> > Warning: Undefined offset: 5 in
>
> Means your array doesn't have that key in it.  I bet you're running into
> blank lines in your file.
>
>
> > $Results = implode('', file("$LookupURL"));
> > $Data = explode("\n", $Results);
>
> Uh, you do realize that you're flip flopping the data around here for no
> reason.  file() already creates an array.  But you go through the
> unnecessary steps of compressing that array into a string and then
> recreating a new array.  Just do this:
>
>    $Data = file($LookupURL);
>
> That will eliminate your errors by not adding extra blank lines.
>
>
> >  foreach($Data as $Line) {
> >   list($H_Date, $H_Open, $H_High, $H_Low, $H_Close, $H_Volume) =
split(",",
> > $Line);
> >   print "<tr bgcolor=\"#FFFFFF\">
> >
<td>$H_Date</td>\n<td>$H_Open</td>\n<td>$H_High</td>\n<td>$H_Low</td>\n<td>$
> > H_Close</td>\n<td>$H_Volume</td>\n</tr>";
> >   }
>
> But, your whole approach is wasteful.  As I said yesterday, use fopen()
> and then fgetcsv().  Forget the file() and split() calls.
>
> Then, you're wasting time and memory with the list().  Use the resulting
> array directly.
>
>    while ( $Line = fgetcsv($fp, 500) ) {
>       echo "<tr> <td>$Line[0]</td> <td>$Line[1]</td> ... etc ...";
>    }
>
> Or, since you're pringing everything out, you could just do this:
>
>    while ( $Line = fgetcsv($fp, 500) ) {
>       echo '<tr><td>' . implode('</td><td>', $Line) . '</td></tr>'
>    }
>
> --Dan
>
> --
>                PHP classes that make web design easier
>         SQL Solution  |   Layout Solution   |  Form Solution
>     sqlsolution.info  | layoutsolution.info |  formsolution.info
>  T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
>  4015 7 Av #4AJ, Brooklyn NY     v: 718-854-0335     f: 718-854-0409



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to