Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

ROZWIĄZANY: Foreach - wyświetla jeden rekord.


Rekomendowane odpowiedzi

Cześć.

Mam problem z pewną pętelką. Po dodania parsowania tekstu, wyświetla mi się tylko jeden rekord z bazy.


$this->DB->query('SELECT c.*,u.member_id,u.members_seo_name,u.members_display_name,u.member_group_id FROM '.$this->DB->obj['sql_tbl_prefix'].'game_changes c, '.$this->DB->obj['sql_tbl_prefix'].'members u WHERE c.auid=u.member_id ORDER BY `uid` DESC LIMIT 5');
$this->DB->execute();

while($rows = $this->DB->fetch())
{
IPSText::getTextClass('bbcode')->parse_html  = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 0;
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_smilies = 1;

$rows['_text'] = IPSText::getTextClass('bbcode')->preDisplayParse( $rows['text'] );

$changes[] = $rows;
}

$template = $this->registry->output->getTemplate('gp')->changesList($changes);

Po pozostawieniu samego $changes[] = $rows; wyświetla wszystkie rekordy. W czym może tkwić problem?

Odnośnik do komentarza
Udostępnij na innych stronach

changesList:

<if test="count($changes)">
<foreach loop="$changes as $row">
<div class="ipsSettings_section clear">
<a hovercard-ref='member' hovercard-id='{$row['member_id']}' class='url fn left _hovertrigger' href='{parse url="showuser={$row['member_id']}" template="showuser" seotitle="{$row['members_display_name']}" base="public"}' title='{$this->lang->words['view_profile']}'>{IPSMember::buildProfilePhoto($row['member_id'],$size=mini)}
</a>

<div style="margin-left:50px;min-height:30px;padding-right:">
<h3 style="margin-bottom:5px"><span class="desc"><img src="public/style_images/master/icon_follow_freq.png" data-tooltip="{parse date="$row['date']" format="LONG"}"></span> {$row['desc']} <if test="$this->memberData['g_access_cp']"><a data-tooltip="Usuń" href="{parse url="module=zmiany&section=changes&action=delete&uid={$row['uid']}&md5check={$this->member->form_hash}" base="publicWithApp"}">{parse replacement="gallery_album_delete"}</a></if></h3>{$row['_text']}
</div>

</div>

<br>
</foreach>

<else />
<p class="message unspecific">Brak rekordów w bazie danych</p>
</if>

Błąd prawdopodobnie leży po stronie skryptu, gdyż wyświetla się 1 rekord po podaniu kodu:

IPSText::getTextClass('bbcode')->parse_html  = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 0;
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_smilies = 1;

$rows['_text'] = IPSText::getTextClass('bbcode')->preDisplayParse( $rows['text'] );

Pomimo to parsowanie tekstu działa poprawnie.

Odnośnik do komentarza
Udostępnij na innych stronach

A spróbuj czegoś takiego:

$this->DB->query('SELECT c.*,u.member_id,u.members_seo_name,u.members_display_name,u.member_group_id FROM '.$this->DB->obj['sql_tbl_prefix'].'game_changes c, '.$this->DB->obj['sql_tbl_prefix'].'members u WHERE c.auid=u.member_id ORDER BY `uid` DESC LIMIT 5');
$ob = $this->DB->execute();

while($rows = $this->DB->fetch( $ob ))
{
IPSText::getTextClass('bbcode')->parse_html  = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 0;
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_smilies = 1;

$rows['_text'] = IPSText::getTextClass('bbcode')->preDisplayParse( $rows['text'] );

$changes[] = $rows;
}

$template = $this->registry->output->getTemplate('gp')->changesList($changes);

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Daj to poza pętlę:

IPSText::getTextClass('bbcode')->parse_html  = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 0;
IPSText::getTextClass('bbcode')->parse_bbcode = 1;
IPSText::getTextClass('bbcode')->parse_smilies = 1;

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.