PHP bir döngü $ olmadan var değerini artırmak için nasıl?

0 Cevap php

En azından i can düşünüyorum ben 1 ile değerini artırmak ve benim HTML bu uygulamak istiyorum bu sorunu var, ama bir for() veya while() döngü (kullanamazsınız 't). Ben bir e-mal programı (OpenCart) özelleştirme ve benim php bilgi sorunu çözmek için yeterli değildir.

Deposundan kategori görüntüler bu işlevi yoktur. Sürekli $var .= "value" olarak güncellenen bir değişkeni kullanır.

Ben şimdiye kadar ben orada kaç alt kategoriler biliyorum, ama benim HTML bu menzilin nasıl uygulanacağını bilmiyorum.

Ben aşağıdaki gibi bir duruma doğru çalışıyorum

<ul id="cats">
 <li id="cat1">Cat
  <ul id="sub1">
   <li>item</li>
   <li>item</li>
  </ul>
 </li>
 <li id="cat2">Cat
  <ul id="sub2">
   <li>item</li>
   <li>item</li>
  </ul>
 </li>
</ul>

Ben nasıl second Sırasız listelerin sayısını artırmak için bir ipucu yok. İkinci sırasız listeler oluşturulan kod aşağıda.


[..]
$cPiD = strlen($parent_id);

if ($results) {
 if ($parent_id == 0) {
  $output .= '<ul id="cats">';
 } else {
  $output .= '<ul id="sub'.$cPiD.'">';
 }
}

[..]

Değişken $cPiD (bu durumda 2) alt kategorilerde toplam miktarda tutar. Bu değişken otomatik Sırasız listeye doğru sayıyı geçerli (yani ilk sırasız listesi ve id="sub2" benim yukarıdaki örnekte olduğu gibi o ikinci bir () tot için id="sub1" uygulamak) istiyorum.

Sorun benim HTML i almak two <ul> wil çünkü ben, else bölümünden sonra for() döngü kullanamazsınız olduğunu etiketler yerine biri.

Tüm olur PHP kodu altında


$category_id = array_shift($this->path);
$output = '';
$results = $this->model_catalog_category->getCategories($parent_id);
$count = 0;
$cPiD = strlen($parent_id);

if ($results) { if ($parent_id == 0) { $output .= '<ul id="cats">'; } else { $output .= '<ul id="sub'.$cPiD.'">'; } }

foreach ($results as $result) { $count++; if (!$current_path) { $new_path = $result['category_id']; $output .= '<li id="cat'.$count.'">'; } else { $new_path = $current_path . '_' . $result['category_id']; $output .= '<li>'; }

$ Çocuk ='';

$ Çocuk = $ this-> GetCategories ($ result ['category_id'], $ new_path);

$ Output = $ result ['name'].;

$ Output = $ çocuklar.;

if (!$current_path) { $output .= '</li>'; } else { $output .= '</li>'; }

}

if ($results) { if ($parent_id == 0) { $output .= '</ul>'; } else { $output .= '</ul>'; } }

Herkes belki bu çözmek için nasıl bir fikir var mı?

EDIT: Oh, i tries adding the following construction in the foreach() loop, but that gave problems when a certain categories don't have any sub categories.

if (!$current_path) {
 $output .= '$result['name'] . ' <ul id="sub'.$count.'">';
}else{
 $ Output = $ result ['name'].;
}

0 Cevap