Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Undefined offset 
V
    Опции темы
kr3v3tkus
Дата 6.11.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 8.3.2008

Репутация: нет
Всего: 1



Подскажите - до 2го числа всё работало http://anonymous.exofire.net/php_scripts/get_currency.php - вот всё сувало в базу, теперь сабжевая ошыпка  Почему он не может обращаца к $buffer[]?  :(
Код

 <?php
 error_reporting(E_ALL);
  
 function get_content($url)
 {
     $ch = curl_init();
     curl_setopt ($ch, CURLOPT_URL, $url);
     curl_setopt ($ch, CURLOPT_HEADER, 0);
     ob_start();
     curl_exec ($ch);
     curl_close ($ch);
     $string = ob_get_contents();
     ob_end_clean();
     return $string;
 }
  
 $ticker = array();
 $date = array();
 $price = array();
 $n = 0;
  
 $content = get_content (
     'http://export.rbc.ru/free/cb.0/free.fcgi?period=DAILY&tickers=NULL&'.
     'd1='.date('d',time()).'&m1='.date('m',time()).'&y1='.date('Y',time()).
     '&d2='.date('d',time()).'&m2='.date('m',time()).'&y2='.date('Y',time()).
     '&lastdays=0&separator=TAB&data_format=BROWSER', "r"
     );
  
 preg_match_all('/([^\s]+\s+[^\s]+\s+[^\s]+)\s*/', $content, $matches);
  
   for ($i=0; $i<18; $i++) {
   $buffer = explode("\t", $matches[0]{$i});
   $ticker[$n] = $buffer[0];
   $date[$n] = $buffer[1];
   $price[$n] = $buffer[5];
   $n++;
   }
  
 $link = mysql_connect("localhost", "root", "1")
 or die("Не могу подключиться");
 print ("Соединение выполнено");
  
 mysql_select_db('bank', $link) or die ('Не могу выбрать БД');
 mysql_query('SET NAMES cp1251');
  
 $sql = "insert into currency(`ticker`,`date`,`price`) values";
 if ($n!=0) {
   for ($i=0; $i<$n; $i++) {
     $str = substr($date[$i],0,4).'.'.substr($date[$i],5,2).'.'.substr($date[$i],8,2);
     $more[] .= "('".$ticker[$i]."','".$str."','".$price[$i]."')";
   }
   $sql .= join(',', $more);
 }
 $result=mysql_query($sql);
  
 $query = "SELECT * FROM currency";
 $result=mysql_query($query);
 mysql_error();
  
 echo '<table border=1>';
 while($r=mysql_fetch_array($result)) {
     echo "<tr><td>$r[ticker]</td><td>$r[date]</td><td>$r[price]</td></tr>";
 }
 echo '</table>';
  
  
 mysql_close($link);
 ?>

PM MAIL   Вверх
unicross
Дата 6.11.2008, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата(kr3v3tkus @  6.11.2008,  22:47 Найти цитируемый пост)
   $buffer = explode("\t", $matches[0]{$i});

Запись не корректна. Надо
Код

   $buffer = explode("\t", $matches[0][$i]);


PM MAIL WWW   Вверх
kr3v3tkus
Дата 6.11.2008, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 8.3.2008

Репутация: нет
Всего: 1



unicross, оууу( пасибо smile
PM MAIL   Вверх
unicross
Дата 7.11.2008, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата

     ob_start();
     curl_exec ($ch);
     curl_close ($ch);
     $string = ob_get_contents();
     ob_end_clean();
     return $string;

kr3v3tkus, не проще заменить эти строки на это?
Код

   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $string = curl_exec($ch);
   curl_close($ch);
   return $string;


PM MAIL WWW   Вверх
kr3v3tkus
Дата 10.11.2008, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 8.3.2008

Репутация: нет
Всего: 1



заменил и то и то, но всё равно пишет
Цитата

Notice: Undefined offset: 0 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 30
Notice: Undefined offset: 1 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 32
Notice: Undefined offset: 5 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 33
Notice: Undefined offset: 1 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 30
Notice: Undefined offset: 1 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 32
Notice: Undefined offset: 5 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 33
Notice: Undefined offset: 2 in D:\sites\localhost\www\php_scripts\@insert_currency.php on line 30

и опять скрипт сначала работает норм а потом опять нулями забивает http://anonymous.exofire.net/php_scripts/get_currency.php, мб я как то не так базу сделал? или изза чего такое бывает? :( мб изза cron'a? 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1038 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.