код вида:
$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?
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).
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 написал(а):
Барабашка какой-то.... Быть того не может
Ты тут весь код показываешь, никаких выжимок из него не делаешь перед показом на форуме?
И кстати, в данном случае цикл while вообще не нужен, т.к. ты изначально обрабатываешь данные ТОЛЬКО в случае, когда есть одна строка данных.

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

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