Jump to content
  • 0

Wyświetlenie tablicy w foreach


Skayfer

Question

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

3 answers to this question

Recommended Posts

  • 0

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 by design4VIP (see edit history)
Link to comment
Share on other sites

  • 0

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

  • 0

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 by design4VIP (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...