user-defined function in while loop

7 отговора 170 прегледа
#1

user-defined function in while loop

ta znachi koda koito shte go napisa po dolu e samo za primer i zatova niama nujda da zadavate vuprosi ot roda na "zashto po diavolite ti e da pravish takova neshto" :)
taka predpolagam che povecheto ot vas sa zapoznati sus mysql_fetch_assoc() (ili fetch_row sushto vurshi rabota)
znachi obiknoveno kogato izkarvam poveche ot edin rezultat ot sql-a togava si pisha

while($sth = mysql_fetch_assoc($sql)) {
...
}

taka sega da predpolojim che iskam da vkaram mysql_fetch_assoc vuv edna moia funkcia

primerno:

function _fetch_assoc($sql) {
while ($sth = mysql_fetch_assoc($sql)) {
return $sth;
}
}

taka i sled tova iskam da napravia
while ($sth = _fetch_assoc($sql)) {
...
}

taka shvanahte li mi ideiata? iskam while loop-a da raboti dokato funkciata _fetch_assoc vrushta rezultati.
vsichko mnogo hubavo sum go izmislil obache ima edin maluk problem
sled purvia return vuv _fetch_assoc funkciata prekratiava rabotata si...
niakoi da se seshta kak moje da stane tova koeto iskam da napravia? osven da napravia global $sth; obache togava promenlivata vuv glavnia while loop triabva zaduljitelno da se kazva $sth

Отговор
в отговор на DEEM #2

Re: user-defined function in while loop

function _fetch_assoc($sql) {
return mysql_fetch_assoc($sql);
}


Не че има смисъл във всичко това, но ти си знаеш.

"Да живееш - значи да се променяш." - Анатол Франс
Отговор
в отговор на Dakota #3

Re: user-defined function in while loop

da ama v sluchaia shte vurne samo purvia row a ako ima poveche ot edin togava stava losho

Отговор
в отговор на DEEM #4

Re: user-defined function in while loop

hm chakai
ne sum siguren za tova poslednoto koeto kazah
shte probvam

Отговор
в отговор на DEEM #5

Re: user-defined function in while loop

ми че за к'во са ти повече? нали и без т'ва я викаш много пъти функцията? ако искаш да върнеш резултата наведнъж, го набутай в масив... но за да го направиш това последното, според мен наистина ти трябва причина...

ViruS
Отговор
в отговор на ViruS #6

Re: user-defined function in while loop

ne mi triabva da pravia tochno tova neshto za koeto pitah, to naistina niama smisul! kakto kazah veche tova e samo primer inache iskah da razbera principa na deistvie (kak rabotiat tezi funkcii koito vrushtat poveche ot 1 rezultat i dali az moga da napravia takava) zashtoto shte mi triabva v edin dosta po-slojen script

Отговор
в отговор на DEEM #7

Re: user-defined function in while loop

По принцип функции, които връщат повече от един резултат няма...освен ако връщат нещо от тип array() примерно...В случая с mysql-ските fetch функции, те вървят през result типа, върнат от query-то. С всяко следващо извикване на функцията получаваш следващия запис от този result. Отделно имаш функцията mysql_data_seek, с който изкуствено можеш да слагаш pointer-а, на което си искаш място.

"Да живееш - значи да се променяш." - Анатол Франс
Отговор
в отговор на Dakota #8

Re: user-defined function in while loop

Dakota, tova poslednoto koeto kaza dosta mi pomaga
mersi

Отговор