Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема проверки переменной


Recommended Posts

Существует проблема

Скрипт падает с ошибкой:  PHP Notice: Undefined offset: 1 in...

Вот собственно кусок кода.

$cur_i = 0;
for ($i = 1; $i < $data->sheets[1]['numRows']; $i++) {
if($data->sheets[1]['cells'][$i][8] != ""){
if($cur_i == 0){
$cur_i++;
}else{
$sql = "SELECT * FROM av_product WHERE sku = '".$data->sheets[1]['cells'][$i][2]."'";
$cur_product_query = mysql_query($sql) or die('Query failed: ' . mysql_error());
$cur_product = mysql_fetch_array($cur_product_query);

if(!is_numeric(trim($data->sheets[1]['cells'][$i][8])))
$product_count = 5;
else $product_count = $data->sheets[1]['cells'][$i][8];
if($cur_product['sku'] != ""){

 

вот эта переменная из за которой по моим данным косяк

$data->sheets[1]['cells'][$i][8]

раньше был формата                                                                                                             1, а5; 
                                                                                                                                                2, а5; 
                                                                                                                                                3, a5....
сейчас же эта переменная по мои данным поменялась и стала формата     1, а; 
                                                                                                                           2, a; 
                                                                                                                           3, 50; 
                                                                                                                           4, a ....
а учитывая, что это изначально цикл...там он и застревает, так как не подходит проверка

!is_numeric(trim

Вопрос, как задать проверку, на числовые и буквенные значения.

isset   (не подходит)

завершает той же ошибкой, так как есть значения массива 0, а; либо "", a;

Надіслати
Поділитися на інших сайтах


foreach ?

вы уверены что ошибка в той строке?

не могу быть уверен, так как еще возможной причиной был вынужденный апдейт debian-a... (а именно php5 обновился...может синтаксис где поменялся...). Но, то что 

 

!is_numeric(trim
 

не может обработать из массива столбец 8 где присутствуют только числа и только текст, это по моему очевидно... если не так поправьте. 

Массив создает вот такая штука https://code.google.com/p/php-excel-reader/ , а там для меня вообще глухой лес....

ЗЫ. Ситуация острая

 

 

Надіслати
Поділитися на інших сайтах


да вы были правы... причина в чем то другом... после изменения переменных на прежние скрипт также падает...

ругается на строчку 

 

for ($i = 1; $i < $data->sheets[1]['numRows']; $i++) {
 
Надіслати
Поділитися на інших сайтах


да, я на эту строчку и думал

$data->sheets[1]

вероятно вы парсите xls файл, где 1 это номер листа в этом файле

Змінено користувачем freelancer
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.