Skayfer Posted August 11, 2015 Share Posted August 11, 2015 Witam, Napisałem pewną funkcję, która jako wynik zwraca tablice Funkcja nazywa się FrontController::mojafunkcja() , ale po władowaniu w foreach nic nie jest zwracane {assign var=dane value=FrontController::mojafunkcja()} {foreach $dane as $row} {$dane} {/foreach} Link to comment Share on other sites More sharing options...
0 design4VIP Posted August 11, 2015 Share Posted August 11, 2015 (edited) ale co ma zwracac? po pierwsze moajfynkcja() powinna zwracac array() przez return. w pierwszej kolejnosci zwroc sobie $dane przez {$dane|var_dump} przed foreach i sprawdz czy cokolwiek masz. idac dalej do twojego foreach to niby co zwracasz? czytasz tablice w zwracasz tablice? tlumacze zayrtanie foreach {zwroc tabele $dane jako $row} czyli efektem docelowym jest $row a nie $dane.... poprawnie powinno to wygladac: {foreach $dane as $row} {$row|var_dump}{/foreach} dlaczego $row z dumpem? na poczatek, zeby sprawdzyc czy aby $row nie jest zwracany rowniez jako tablica, inaczej musialby wygladac $row['key'] Edited August 11, 2015 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
0 Skayfer Posted August 11, 2015 Author Share Posted August 11, 2015 Trochę poplątane z pomieszanym, ale udało mi się /** zapytanie **/ $id_shop = Context::getContext()->shop->id; $sql = 'SELECT * FROM ps_product_shop WHERE id_shop = "'.$id_shop.'" AND active = "1" AND id_category_default = "7"'; $result = Db::getInstance()->ExecuteS($sql); /** stworzenie tablicy **/ $custdata=array(); foreach ($result as $row) { $custdata[] = array( "cena" => $row['price'], "id" => $row['id_product'] ); } /** wyswietlenie tablicy **/ foreach ($custdata as $item) { echo '<li><span class="arrow">></span><a>'; echo $item[cena]. ' | '. $item[id]; echo '</a></li>'; } Link to comment Share on other sites More sharing options...
0 design4VIP Posted August 12, 2015 Share Posted August 12, 2015 (edited) tylko nie rozumiem po co czytajac array towrzysz array... spokojnie mogles to zrobic z jednego zapytania: foreach ($result as $item) { echo '<li><span class="arrow">></span><a>'; echo $item['price']. ' | '. $item['id_product']; echo '</a></li>'; } dokladnie na to samo wychodzi i krocej i bardziej porpawnie Edited August 12, 2015 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
Question
Skayfer
Witam,
Napisałem pewną funkcję, która jako wynik zwraca tablice
Funkcja nazywa się FrontController::mojafunkcja()
, ale po władowaniu w foreach nic nie jest zwracane
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now