Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Smarty]Problem z Newsami
Forum PHP.pl > Forum > PHP
Misiek92
Witam.

Mam mały problem ze smartami dokładniej z wyświetlaniem, w bazie mam mam 1 wpis z newsem, na stronie wyświetla mi tego newsa + 1 pustego


  1. $news = array();
  2. if(mysql_num_rows($query)) while($news[] = mysql_fetch_assoc($query)){}
  3. $smarty->assign('news', $news);



  1. {foreach name=news from=$news item=item}
  2. <tr><td>Tytuł: {$item.topic}<tr/><td/>
  3. <tr><td>Data: {$item.data}<tr/><td/>
  4. <tr><td>Autor: {$item.author|default:"Brak autora"}<tr/><td/>
  5. <tr><td>Tekst: {$item.text}<tr/><td/>
  6. {/foreach}


W wyniku dostaje

Cytat
Tytuł: dfasdfas
Data: 2009-12-26 02:12
Autor: fasdfasdfasd
Tekst: safsafasfd

Tytuł:
Data:
Autor: Brak autora
Tekst:


Ma może ktoś pomysł w czym może siedzieć problem?
Matte
Do kodu php dopisz var_dump($news). Prawdopoodbnie cosik zlego dzieje Ci sie z tablica.
Misiek92
Wynik
Cytat
array(2) { [0]=> array(6) { ["id"]=> string(2) "16" ["data"]=> string(16) "2009-12-26 02:12" ["topic"]=> string(8) "dfasdfas" ["text"]=> string(10) "safsafasfd" ["author"]=> string(12) "fasdfasdfasd" ["hide"]=> string(1) "0" } [1]=> bool(false) }
cim
Witam,

ogółem o jeden wpis za dużo (mysql_fetch_assoc zwraca false, bo nie ma więcej rekordów, ale ten false jest już automatem dodawany do tablicy z rekordami):
Kod
[1]=> bool(false)


Może spróbuj tak:
  1. if(mysql_num_rows($query)) while($rekord = mysql_fetch_assoc($query)){ $news[] = $rekord}


Pozdrawiam
Misiek92
Dzięki wielkie, leci pomógł.

Wrazie czego jakby ktoś miał podobny problem zamieszczam kod smile.gif


  1. if(mysql_num_rows($query))
  2. {
  3. while($rekord = mysql_fetch_assoc($query))
  4. {
  5. $news[] = $rekord;
  6. }
  7.  
  8. }
  9. $smarty->assign('news', $news);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.