Откуда здесь 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 базы с одинаковыми полями но разным содержанием (некоторые поля не заполнены). Надо сделать из них одну.
Причем строки с одинаковым полем совмещаются. Если есть разные поля(не нулевые) в одинаковых строках, то берется поле из основной базы. Если одно из полей нулевое, то берется информация из ненулевого поля.
 
> откуда сдесь может появится ошибка
Индексы элементов массива не обязаны идти подряд.
[m]foreach[/m]
 
Спасибо незнал.

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

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"]     = "";
//также остальные поля
          }
 
Ищи. Если PHP не видит такого индекса - значит его нет.
 
Именно поэтому, что я не могу найти я и прошу у вас помощи.
 
Мало данных. Если выкинуть то, что к проблеме отношения не имеет, останется кусок (подстановка конкретных значений заместо 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: Ничего не работает! Что делать???
 
Выводит 7722 not found. Вообще таких индексов много. Все в конце. Но не подряд.
 
Ну вот видишь - значит где-то ты их удаляешь или ещё чего. Так что либо разбирайся со своим загадочным кодом (куда пропадают индексы), либо, если так и должно быть - foreach.
 
Нет я их не удаляю (а как их вообще удалить).

Может тогда поможешь новый код написать(в первом сообщении описание)?
 
HollySpirut
Может сам попробуешь? SiMM тебе дал все что тебе надо..
 
делаеш
print_r($films);
И смотриш как у тебя идут индексы! ошибка в 7734
смотри что идет после 7735 :)
 
Сверху