Откуда здесь offset? Помогите плз

  • Автор темы HollySpirut
  • Дата начала

HollySpirut

Guest
Откуда здесь offset? Помогите плз

Народ помогите плз. Что-то я втолк не возьму откуда сдесь может появится ошибка.
PHP:
for($i=0; $i<=(count($films)-1); $i++)
   {
  if (($i%100)==0) {
                        echo ".";
                        flush();
                        }
   $tmp=$films[$i];
///здесь загоняем $tmp в mysql базу 
   }
Ошибка возникает в строке
PHP:
$tmp=$films[$i];
Notice: Undefined offset: 7734 in z:\***\***\***\**\***.php on line 124

-~{}~ 25.12.05 18:27:

$films[$i] имеет еще около 10 полей ($films - это 2мерный массив)
==============================
Есть 2 базы с одинаковыми полями но разным содержанием (некоторые поля не заполнены). Надо сделать из них одну.
Причем строки с одинаковым полем совмещаются. Если есть разные поля(не нулевые) в одинаковых строках, то берется поле из основной базы. Если одно из полей нулевое, то берется информация из ненулевого поля.
 

SiMM

Новичок
> откуда сдесь может появится ошибка
Индексы элементов массива не обязаны идти подряд.
[m]foreach[/m]
 

HollySpirut

Guest
Спасибо незнал.

Но у меня вроде подряд заполняется.

PHP:
for($i=0; $i<=(mysql_num_rows($result1)-1); $i++)
  {
  if (($i%100)==0) {
                        echo ".";
                        flush();
                        }

   $films[$i]["pole1"]   =  mysql_result($result1, $i, 0);;
  //также остальные поля
  }

$start=$i;

for($i=0; $i<=(mysql_num_rows($result2)-1); $i++)
   {
  if (($i%100)==0) {
                        echo ".";
                        flush();
                        }

$films[$start+$i]["Links"]     = "";
//также остальные поля
          }
 

SiMM

Новичок
Ищи. Если PHP не видит такого индекса - значит его нет.
 

HollySpirut

Guest
Именно поэтому, что я не могу найти я и прошу у вас помощи.
 

SiMM

Новичок
Мало данных. Если выкинуть то, что к проблеме отношения не имеет, останется кусок (подстановка конкретных значений заместо mysql_num_rows в сущности ничего не решает)
PHP:
for ($i=0; $i<=10-1; $i++)
  $films[$i]["pole1"] = $i;
$start = $i;
for ($i=0; $i<=5-1; $i++)
  $films[$start+$i]["Links"] = "";
for ($i=0; $i<=(count($films)-1); $i++)
  if (!isset($films[$i])) die("index $i not found");
echo "Ok";
а он выводит Ok - значит что-то ты недосмотрел и недоговариваешь.
В любом случае - PHP FAQ: Ничего не работает! Что делать???
 

HollySpirut

Guest
Выводит 7722 not found. Вообще таких индексов много. Все в конце. Но не подряд.
 

SiMM

Новичок
Ну вот видишь - значит где-то ты их удаляешь или ещё чего. Так что либо разбирайся со своим загадочным кодом (куда пропадают индексы), либо, если так и должно быть - foreach.
 

HollySpirut

Guest
Нет я их не удаляю (а как их вообще удалить).

Может тогда поможешь новый код написать(в первом сообщении описание)?
 

sakon

П..и.н..ок
HollySpirut
Может сам попробуешь? SiMM тебе дал все что тебе надо..
 

texrdcom

Новичок
делаеш
print_r($films);
И смотриш как у тебя идут индексы! ошибка в 7734
смотри что идет после 7735 :)
 
Сверху