bir şey bir süre döngü içinde sadece bir kez görüntülemek için nasıl

3 Cevap php

Ben bir mysql sorgu çalışan var ve bir yineleyici 1'e eşit ise, o zaman bu div başlığı görüntülemek görmek için denetler ...

if ($this->dliterator == 1) {echo "<div class='clientsection' id='downloads'>Downloads</div><br/>";};

Sorun, dl yineleyici mutlaka 1'den başlamak olmayabilir olmasıdır. (Doğrudan veritabanından bir downloadid ile ilgilidir).

Nasıl bu sadece döngü ilk kez gösterilecek alabilirsiniz ONLY?

while ($row = mysql_fetch_assoc($result)) { 

   if ($row['download'] != null){
    if ($this->dliterator == 1) {echo "<div class='clientsection' id='downloads'>Downloads</div><br/>";};


    if ($editDownload == 1) {
     echo "<div class='clientlink' style='margin-top: 15px;'>";
     echo "<input name='downloads[$this->dliterator][name]' type='text' id='download$this->dliterator' value='" . $row['download'] . "'/>";
     echo "<input name='downloads[$this->dliterator][title]' type='text' id='downloadtitle$this->dliterator' value='" . $row['downloadtitle'] . "'/>";
     echo "<img class='removelink' src='/images/deletelink.png' width='15' />";
     echo "<input id='downloadid' name='downloads[$this->dliterator][id]' type='hidden' value='".$row['downloadid']."' style='display: none'/>";
     echo "<br/><img id='uploaddownload$uploaditerator' class='uploaddownload' src='../images/upload.png' width='80'/>"; 
     echo "</div>";


    };

   };

   $this->dliterator++;

   $uploaditerator++;
};

Tüm cevaplar için teşekkürler! İşte benim çalışma çözüm Zuul sayesinde bulunuyor:

if ($row['download'] != null){
if (($this->dliterator != null ) && ($check ==0)) {echo "<div class='clientsection' id='downloads'>Downloads</div><br/>";
$check++;};

3 Cevap

Bu deneyin:

$check=0;

if (($this->dliterator == 1) && ($check==0)) {
  echo "<div class='clientsection' id='downloads'>Downloads</div><br/>";
  $check++;
};

It will enter the if statement if your "dliterator==1 and if $check hasn't change... After inside, it will change the $check thus preventing the if statement to run again!

Umarım yardımcı olur!

Eğer yanlış $firstLineFetched = false;, o zaman doğru ayarlamak false de döngünün bir bayrak koymak ve ilk satır işlem yapmak

Sadece 0'a döngü dışında bir sayaç seti ve benzeri bir şey yapabilirdi:

if($i == 0)
  printf("<div class=........>\n");

Sonra printf () ifadesi üzerinde sağ geçecek döngü i ($ i + +) süre sonunda () ve sonraki anda $ artırmak için emin olun.