2017-01-07 1 views
3

J'ai des images satellites stockées dans une base de données mysql. La table a des attributs latitude, longitude. Je veux les envoyer à la brindille et l'afficher comme une carte, mon contrôleur php ressemble à ceci.Tableau bidimensionnel dans Twig

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 

    )); 

} 

Mon code brindille est la suivante:

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

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

Je suis afficher les images sous forme de tableau vertical. Toutes les suggestions, je pourrais avoir besoin de les afficher comme une carte. Un réseau bidimensionnel dans une brindille?

+0

Salut et bienvenue. Quel est votre problème ? Que signifie "afficher en tant que carte"? – COil

+1

J'ai 12 images satellites dans la base de données. Quand ils sont disposés en 3x4, ils forment une carte (puisqu'ils font partie d'une grande zone). En ce moment je suis seulement en mesure de les afficher comme une liste verticale ..... Je n'ai pas beaucoup de connaissances sur php ou brindille –

Répondre

2

Vous pouvez utiliser quelque chose comme ceci:

<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> 

Lire la Twig for documentation.

+1

Salut, Merci.Il a parfaitement fonctionné. Cependant disons que je ne connais pas la taille du tableau et ses 100 images similaires. Je ne connais que la différence entre chaque latitude et longitude. (disons 0,00875) Une idée sur la façon d'afficher une carte similaire en utilisant les deux attributs latitude et longitude? –