Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt czyta wszystko poza pierwszym wpisem w bazie.
Forum PHP.pl > Forum > PHP
parox
Witam.

Treść podobna jak w nazwie tematu. Mianowicie opracowałem kod który wyciąga z bazy wpisy i je ładnie wyświetla. Wyświetlają się prawie wszystkie, poza pierwszym wpisem w bazie...

  1. $q = "SELECT mbc_id, mbc_nickname, mbc_email, mbc_url, mbc_content, mbc_date
  2. FROM `" . $db_prefix . "mb_comments` WHERE mbc_mbid=$id ORDER BY mbc_id ASC";
  3. $r = mysqli_query ($dbc, $q);
  4.  
  5. if (mysqli_fetch_array($r, MYSQLI_ASSOC) == NULL) {
  6. echo '<p id="mb_comment" style="text-align: center;">' . $lang_txt_no_comments . '...</p>';
  7. } else {
  8. while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
  9. echo '<p><div id="mb_comment"><span class="mb_post" />' . $row['mbc_content'] . '</span>
  10. <br /><span class="mb_date">';
  11. if (isset($_SESSION['user_login'])) {
  12. echo '<a href="index.php?action=del_comment&amp;mbc_id=' . $row['mbc_id'] . '" class="mb_act">
  13. ' . $lang_cp_del . '</a>       ';
  14. }
  15. echo $lang_txt_by . ' ';
  16. if (isset($row['mbc_url'])) {
  17. echo '<i><a href="' . $row['mbc_url'] . '">' . $row['mbc_nickname'] . '</a></i> ';
  18. } else {
  19. echo '<i>' . $row['mbc_nickname'] . '</i> ';
  20. }
  21. echo '      ';
  22. echo date($dateformat, strtotime($row['mbc_date']));
  23. echo '</span></div></p>';
  24. }
  25. }


Kiedy jest jeden wpis, nie wyświetla nic. Kiedy są trzy, wyświetla pozostałe dwa poza pierwszym...

Będąc bardziej konkretnym, nie wyświetla pierwszego wpisu który jest podpisany pod jakimś mbc_mbid:
  1. mbc_id mbc_nickname mbc_email mbc_url mbc_content mbc_mbid mbc_date
  2. 7 Rafal Proszowski mail@test.com google dot com 1.1 6 2010-07-27 09:46:56
  3. 8 parox mail@test.com google dot com Ten wpis wyświetli bez wahania... 8 2010-07-27 09:54:23
  4. 6 parox mail@test.com google dot com Hej! 8 2010-07-27 01:22:07

Tak wygląda tabela z trzema wpisami o dwóch różnych mbc_mbid. Pierwszego i trzeciego nie wyświetla ponieważ mają unikalną wartość mbc_mbid w stosunku do daty(?) . Ale gdy już będzie kolejny wpis z mbc_mbid który już miał miejsce, w tym przypadku wpis numer dwa (nie wiem czemu dodał się na środek a cała tablica nie była posortowana wg primary którym jest mbc_id), śmiało wyświetli.


Jakieś wskazówki?

Z góry dzięki.
wookieb
zamien
  1. mysqli_fetch_array($r, MYSQLI_ASSOC) == NULL

na
  1. mysqli_num_rows($r) == 0
parox
Dzięki. Taki śmieszny błąd...
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.