2017-01-07 20 views
3

私は衛星画像をmysqlデータベースに格納しています。テーブルには緯度、経度の属性があります。私は小枝にそれらを送信し、地図として表示したい、私のPHPコントローラは、このように見えます。Twigの2次元配列

public function highlightAction() 
{ 
    $highlighted=$this->getDoctrine() 
     ->getRepository('AppBundle:satelliteImage') 
     ->findAll(); 

    $images = array(); 
    foreach ($highlighted as $key => $high) { 
     $images[$key] = base64_encode(stream_get_contents($high->getImage())); 
    } 

    return $this->render('satelliteImages/highlighted.html.twig',array(
     'highlighted' => $highlighted, 
     'images' => $images 

    )); 

} 

マイ小枝コードはこれです:

<tbody> 
    {% for key,high in highlighted %} 
     <tr> 
      <img alt="Embedded Image" src="data:image/png;base64,{{ images[key] }}" /> 

     </tr> 
    {% endfor %} 
    </tbody> 

私は、垂直配列として画像を表示しています。任意の提案、私はマップとしてそれらを表示する必要があります。 枝の2次元配列ですか?

+0

こんにちは。あなたの問題は何ですか ? 「地図として表示」という意味は何ですか? – COil

+1

私はデータベースに12の衛星画像を持っています。それらが3x4配列として配列されている場合、マップを形成します(1つの大きな領域の一部であるため)。今は垂直リストとしてしか表示できません..... PHPやtwigに関する知識があまりありません –

答えて

2

あなたはこのようなものを使用することができます。

<table> 
    <tbody> 
    {% for key in 0..2 %} 
     <tr> 
      {% for key in 0..3 %} 
       <td> 
        <img alt="Embedded Image" src="data:image/png;base64, 
         {{ images[loop.parent.key*4 + key] }}" /> 
       </td> 
      {% endfor %} 
     </tr> 
    {% endfor %} 
    </tbody> 
</table> 

Twig for documentationをお読みください。

+1

こんにちは、ありがとうございました。しかし、私はアレイの大きさとそのような100の画像を知らないと言う。私は各緯度と経度の違いを知っています。 (0.00875と言う)緯度と経度の2つの属性を使用して同様のマップを表示する方法についての考え方はありますか? –