Her Alfabelerin sonunda bir satır ara ile ASC sırayla tüm ülkeler listesi görüntülemek gerekir

1 Cevap php

Ben ASC sırayla tüm ülkeler Listesini görüntülemek için ihtiyacı duyuyorum. Ama alfabelerin her sonunda inbetween bir çizgi ile. Bu PHP ve Smarty kullanmaktır

Örnek:

Amerika

Australia


Belgium


India


Yukarıdaki gibi i O / P göstermek gerekir

Benim sorgu

$str = 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,Z';
$let=explode(',', $str, 24);

for($i=0; $i<25; $i++)

{

  $letter = $let[$i][0];

  $select="select *from tbl_country where Country_name like '".$letter."%' ORDER BY Country_name ASC"; 

  $country =$this->ExecuteQuery($select, "select"); 

  $objSmarty->assign("letter",$letter); 

}

$objSmarty->assign("Exe_Wcat",$country);

Yukarıdaki sorgu yürütülerek ben sırayla tüm countires alıyorum. Ama nasıl ben satır sonu eklemek gerekir?

Şimdiden teşekkürler ...

Fero

1 Cevap

Eğer şablonu kod ülkeler listesinde döngü olduğunuzda, ülkenin ilk harfi son döngü tekrarında göre değişip değişmediğini kontrol edin. Bu durumda, çıkış yatay bir çizgi.

Ilk harfini elde etmek için, belirtilen alt dize eklentisini kullanabilirsiniz here:

{$country|substr:0:1}

Bunu değişkenin çıkış yakalayabilir:

{capture name=letter}
    {$country|substr:0:1}
{/capture}

... Ve daha sonra son yakalama karşı döngünün en başında kontrol edin:

{if $smarty.capture.letter ne ''}
    {if $smarty.capture.letter ne $country|substr:0:1}
        <hr />
    {/if}
{/if}

P.S. Yukarıda iç if ifadesinin sözdizimi hakkında oldukça emin değilim, iki kez ülkeye mektup yakalamak zorunda kalabilirsiniz, bu yüzden gibi bir şey yapabilirsiniz:

{if $smarty.capture.letter ne $smarty.capture.letter2}

Bu döngünün son yineleme olmadığını öğrenmek konusunda yorumun başına Düzenle - dan the docs:

{foreach from=$items key=part_id item=prod name=products}
  <a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if}
{foreachelse}