[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обнуляется переменная
Регент
Подскажите почему обнуляется переменная и как этого избежать?
код вида:

$billmin = $billsec/60; 
print $billmin;
$pref=mysql_query("select * from t_pref WHERE `pref` LIKE '".$r_pref."%' LIMIT 0 , 1") or die ("No way. Can't select 1.");
if ( mysql_num_rows($pref) == 1 ) {
while ($line = mysql_fetch_array ($pref)) {
extract($line);
$f_price = $price * $billmin;
print $price.' * '.$billmin.' = '.$f_price.'<br>';


команда print $billmin; выводит переменную адекватно, но в $f_price = $price * $billmin; она уже пуста, о чём говорит ноль в выводе print $price.' * '.$billmin.' = '.$f_price.'<br>';





Спустя 11 минут, 14 секунд (16.02.2011 - 18:07) sergeiss написал(а):
А что именно выводит последний принт? Я вот не вижу, например, где у тебя назначается переменная $price. Судя по коду, именно она должна быть нулевая, и как следствие, $f_price тоже будет нулевым.

PS. Какие у тебя поля в таблице, с какими именами? Там нету, случайно, колонки billmax?

Спустя 1 час, 55 минут, 43 секунды (16.02.2011 - 20:02) Регент написал(а):
Она берётся из мускуля. принт выглядит так:
30
60 * 0 = 0

Переменная $billmin точно задаётся. Её значение выводится через print $billmin;
Переменная $price тоже точно задаётся, она выгружается из мускуля и её значение видно в print $price.' * '.$billmin.' = '.$f_price.'<br>';

но если попробовать в цикле вывести переменную $billmin она будет равна нулю. даже если я пробую вывести эту переменную внутри блока if ( mysql_num_rows($pref) == 1 ) { но перед while ($line = mysql_fetch_array ($pref)) {, она тоже будет равна нулю.
Причём переменная точно есть, проверил через isset($billmin).


Спустя 1 час, 32 минуты, 50 секунд (16.02.2011 - 21:35) sergeiss написал(а):
Барабашка какой-то.... Быть того не может smile.gif Ты тут весь код показываешь, никаких выжимок из него не делаешь перед показом на форуме?

И кстати, в данном случае цикл while вообще не нужен, т.к. ты изначально обрабатываешь данные ТОЛЬКО в случае, когда есть одна строка данных.

Спустя 1 час, 19 минут, 49 секунд (16.02.2011 - 22:55) Регент написал(а):
Ну я выделил целый блок. Перед ни есть иной код но его касается только выборка из базы поля r_pref которое используется в запросе.
На работе порешал проставив global...
Пришёл домой, закомментил свои глобалы чтобы продолжить изыскания и... Переменная перестала обнуляться! WTF!? huh.gif

Спустя 10 часов, 24 минуты, 48 секунд (17.02.2011 - 09:20) linker написал(а):
Скорее всего в таблице есть поле `billmin`, при команде extract($line); значение такой переменной подменяется новой.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.