PHP menü öğeleri arasında bir seperatörünü eklemek değil ucunda nasıl

4 Cevap php

Ben dışarıdan menü öğeleri ancak arasında ayırıcı olarak bir resim koymak için çalışıyorum ve ben bunu nasıl emin değilim .. Yani böyle bir şey olma sona ereceğini:

ANA SAYFA | HAKKIMIZDA | İLETİŞİM

ne yazık ki benim kod son da dahil olmak üzere her girişten sonra bir koyar.

mysql_select_db($database_db_connection, $db_connection);
$query_rsMenu = "SELECT * FROM menu WHERE online = 1 ORDER BY position ASC";
$rsMenu = mysql_query($query_rsMenu, $db_connection) or die(mysql_error());

echo "<ul class='MenuBarVertical'>\n";
    while($row_rsMenu = mysql_fetch_assoc($rsMenu)) {
    echo ("   <li><a href=\"../" . $row_rsMenu['menuURL'] . "\">" . $row_rsMenu['menuName'] . "</a> <img src='SiteFiles/Site/separator.jpg' /> </li>\n");
    }
echo "</ul>\n";

mysql_free_result($rsMenu);

Teşekkürler

4 Cevap

Ayrıca bir dizi oluşturmak ve bunu yazdırabilirsiniz zaman çöktüğünü kullanabilirsiniz. Bu da biraz daha iyi bir görünümden veritabanı modeli ayırır.

mysql_select_db($database_db_connection, $db_connection);
$query_rsMenu = "SELECT * FROM menu WHERE online = 1 ORDER BY position ASC";
$rsMenu = mysql_query($query_rsMenu, $db_connection) or die(mysql_error());

$array = array();
while($row_rsMenu = mysql_fetch_assoc($rsMenu)) {
    $array[] = "<li><a href=\"../" . $row_rsMenu['menuURL'] . "\">" . $row_rsMenu['menuName'] . "</a></li>\n";
}

mysql_free_result($rsMenu);

echo "<ul class='MenuBarVertical'>\n";
echo implode(' <img src="SiteFiles/Site/separator.jpg" /> ', $array);
echo "</ul>\n";

Tabii etiketleri yerine içinin li arasındaki sonuna kadar, ama sen li satır içi yapıyoruz beri ben çalışacağını düşünüyorum.

Kolay çözüm özel duruma son yineleme ya ilk ya olduğunu. İlki genellikle daha kolaydır: döngü dışında, döngü içinde = true dolarlık ilk set: (! $ Ilk) ise {print 'ayırıcı'; }.

Sen sonuç kümesinden satırların sayısını almak için () mysql_num_rows kullanın ve sonucu karşı bazı mantık inşa olabilir.

Henüz başka bir cevap:

for ($i = 1; $i <= mysql_num_rows($rsMenu); $i++) {

  $row_rsMenu = mysql_fetch_assoc($rsMenu);
  // do something;

  if ($i == mysql_num_rows($rsMenu) - 1) {
    // this is the last element, do something;
  }

}