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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибки в коде 
:(
    Опции темы
Gold Dragon
Дата 22.2.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



решил всё делать по уму и проверять всё... Многое уже поправил, но есть маленькие проблемки. Вот например код
Код

function f_news($a){
    $q = ($a!=0)?" LIMIT ".$a:"";
    $r = mysql_query("Select * from `news` ORDER BY `data` DESC ".$q);
    for($i=0; $i<mysql_num_rows($r); $i++){
        $f = mysql_fetch_array($r);
        $result['con'] .='<p class="txt4">'.$f['data'];
        $result['con'] .='<br><span class="txt7">&nbsp;&nbsp;&nbsp;'.$f['con_new']."</span>";
    }
    $r = mysql_query("Select * from `news`");
    $result['ind'] = ((mysql_num_rows($r)>$a) and ($a!=0))? 1 : 0;
    return $result;
}

выдаёт ошибку
Цитата

Notice: Undefined variable: result in w:\home\kabak.qqq\www\functions\db.php on line 76
Notice: Undefined index: con in w:\home\kabak.qqq\www\functions\db.php on line 76

это строка $result['con'] .='<p class="txt4">'.$f['data'];
Разве переменная не создаётся автоматом? В чём проблема?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 22.2.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 32
Всего: 69



Цитата(Gold Dragon @ 22.2.2006, 10:30 Найти цитируемый пост)
Разве переменная не создаётся автоматом? В чём проблема?

В том, что там у тебя идет приращение, т.е. добавление строки к якобы уже существующей переменной. Но... у тебя она выше нигде не определена, поэтому поставь в самом начале $result['con'] = ""; И будет тебе счастье. smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Gold Dragon
Дата 22.2.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



-=Ustas=-, а я вообще могу создать пустой массив чтобы не обнулять?


ps
может закрепим топик, а то у меня много подобных ошибок, а так будут и другие знать?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 22.2.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 32
Всего: 69



Цитата(Gold Dragon @ 22.2.2006, 11:08 Найти цитируемый пост)
а я вообще могу создать пустой массив чтобы не обнулять?

Код

$result = array();

Ты это имел ввиду?!
Добавлено @ 11:23
Но... если у тебя будет пустой массив, и ты опять попытаешься нарастить элемент массива, типа:
Код

$result['con'] .='<p class="txt4">'.$f['data'];

То тебе опять же выдаст ошибку undefined index, т.е. такого элемента в массиве не существует. Поэтому перед подобными операциями в любом случае надо определять пустую переменную.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Gold Dragon
Дата 26.2.2006, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



ещё одна ошибка
почему это код
Код

        for($j = 0;$j < $st; $j++){
            $name = $nameArray[(($i * $st)+$j)];
            if (isset( $name)){
                $a .= "<td width='33%'>".$name."</td>";
            }else $a .= "<td width='33%'></td>";
        }
даёт ошибку
Цитата

Notice: Undefined offset: 5 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 6 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 7 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 8 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 9 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 10 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
Notice: Undefined offset: 11 in w:\home\kabak.qqq\www\functions\f_rating.php on line 131
а этот нет
Код

        for($j = 0;$j < $st; $j++){
            //$name = $nameArray[(($i * $st)+$j)];
            if (isset( $nameArray[(($i * $st)+$j)])){
                $a .= "<td width='33%'>".$nameArray[(($i * $st)+$j)]."</td>";
            }else $a .= "<td width='33%'></td>";
        }





--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Guedda
Дата 26.2.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Потому что у тебя в массиве всего 4 записи, а ты дальше до 11 гонишь.
Во втором варианте он проверяет, есть ли записи под эти номером, и если есть, то все в порядке. Так что используй второй вариант.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Gold Dragon
Дата 26.2.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Guedda, а почему тогда во втором случае ошибки нет?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 26.2.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 32
Всего: 69



Цитата(Gold Dragon @ 26.2.2006, 12:21 Найти цитируемый пост)
Guedda, а почему тогда во втором случае ошибки нет?

Потому что там идет проверка на существование, а так как таких элементов массива нет, возвращается FALSE.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Gold Dragon
Дата 26.2.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



всё, понял smile пасиб


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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