Как сделать чтобы odbc_result вернула непосредственно значение?

  • Автор темы Автор темы azamat
  • Дата начала Дата начала

azamat

Guest
Как сделать чтобы odbc_result вернула непосредственно значение?

Вопрос, возможно, глупый, но потерял уже пару часов.
К моему удивлению данный скрипт:
PHP:
if (odbc_fetch_row($res_sub))
{	
               $old = odbc_result($res_sub,"ID");
	do
	{						$new = odbc_result($res_sub,"ID");
	print $old.'-старая<br>';
	print $new.'-новая<br><br><br>';
               } while (odbc_fetch_row($res_sub));
}

печатает мне одинаковые id, хотя как я думал он должен печатать пары первый-очередной. Как я понял в old хранится непосредственно odbc_result на каждом шаге, как взять непосредственно значение. Заранее прошу прощения, если очень торможу.

Неужели никто не может помочь.

-~{}~ 22.07.04 16:14:

Блин, что, никто не знает?
 
перечитай вслух свой вопрос и попробуй его понять сам для начала.
 
Да суть вопроса вот в чем:
Выборка [ID]:
44687
8349
1642

Вот это возращает скрипт:
44687-старая
44687-новая

8349-старая
8349-новая

1642-старая
1642-новая

Надо:
44687-старая
44687-новая

44687-старая
8349-новая

44687-старая
1642-новая
 
объясняю.
у тебя выполняется все в такой последовательности:
odbc_fetch_row() - фетчим
odbc_result() - берем из отфетченных данных конкретную ячейку.
odbc_result() - берем из отфетченных данных конкретную ячейку.(опять. те же данные.
)
odbc_fetch_row() - фетчим
odbc_result() - берем из отфетченных данных конкретную ячейку.
понял/нет ?

а что тебе надо получить - это второй вопрос, объясняй и его заново.
 
Да, ты все правильно понял. Но на всякий случай еще раз:

1. фетчу, то есть теперь я на первой записи, забираю конкретную ячейку в первую переменную.
2. бегу по остальным записям, забираю эту же ячейку, но в другую переменную.
(это видно по скрипту)

Вопрос: Почему меняется первая переменная?

Спасибо, что пытаешься разобраться, потому что я уже совсем запутался и смотрю на все это тупыми глазами.
 
потому, что у тебя странный код и ты не можешь сам понять что тебе надо.
зачем-то притянутые за уши do{} while() и какие-то "старые"-"новые" переменные.
сам определись в первую очередь.
 
Ладно, отойдем вообще от моего кода, который, конечно далек от совершенства.
Тогда вопрос поставлю так:

Выборка $r
[ID]:
1
2
3

Скрипт:
PHP:
odbc_fetch_row($r);
$var1 = odbc_result($r,'ID');
while (odbc_fetch_row($r))
{
    $var2 = odbc_result($r,'ID'); 
} 
print "$var1<br>";
print "$var2<br>";

Вопрос: Что напечатает скрипт?
 
имхо:
1
3

-~{}~ 22.07.04 17:04:

Извиняюсь
1
2

-~{}~ 22.07.04 17:04:

А может и
1

-~{}~ 22.07.04 17:04:

точно 1!
 
Блин, сам уже проверил этот кусочек, именно:
1
3

А в работающем коде,
3
3
только в своих значениях, конечно

-~{}~ 22.07.04 17:06:

Нет :-), именно
1
3
 
azamat, делай var_dump() в цикле и все тебе будет видно.
 
Того что хочешь увидеть, и увидишь что хочешь.
 
Все, дело было не в бобине, проблема в водителе, если культурно сказать, но все равно всем спасибо, особенно saa, наставил на путь истинный. Как дурак, блин впился в кусок кода, 3 часа потерял :(
 
Сверху