Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyśiwetlanie 10 wpisów z 2 tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
camelx
Mam 2 tabele: 'posty' i 'komentarze'. W jaki sposób wyświetlić 10 najnowszych wpisów z obu tabel oraz z jakiej pochodzi tabeli? Chcę uzyskać mniej więcej taki efekt:

1. Jakiś wpis [ post ] 1.1.2006
2. kolejny wpis... [ komentarz ] 1.1.2006
3. I jeszcze jeden... [ komentarz ] 31.12.2005
(...)
10. No i ostatni [ post ] 29.12.2005

Macie może jakieś pomysły jak to zrobić??
lenczewski
...a możesz podać strukturę oby tabel oraz napisać czy są one z sobą połączone.
camelx
  1. --
  2. -- Struktura tabeli dla `phpbb_posts`
  3. --
  4.  
  5. CREATE TABLE `phpbb_posts` (
  6. `post_id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  7. `topic_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
  8. `forum_id` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  9. `poster_id` mediumint(8) NOT NULL DEFAULT '0',
  10. `post_time` int(11) NOT NULL DEFAULT '0',
  11. `poster_ip` varchar(8) NOT NULL DEFAULT '',
  12. `post_username` varchar(25) DEFAULT NULL,
  13. `enable_bbcode` tinyint(1) NOT NULL DEFAULT '1',
  14. `enable_html` tinyint(1) NOT NULL DEFAULT '0',
  15. `enable_smilies` tinyint(1) NOT NULL DEFAULT '1',
  16. `enable_sig` tinyint(1) NOT NULL DEFAULT '1',
  17. `post_edit_time` int(11) DEFAULT NULL,
  18. `post_edit_count` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  19. PRIMARY KEY (`post_id`),
  20. KEY `forum_id` (`forum_id`),
  21. KEY `topic_id` (`topic_id`),
  22. KEY `poster_id` (`poster_id`),
  23. KEY `post_time` (`post_time`)
  24. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

  1. --
  2. -- Struktura tabeli dla `lo_comments`
  3. --
  4.  
  5. CREATE TABLE `lo_comments` (
  6. `comment_id` mediumint(9) NOT NULL AUTO_INCREMENT,
  7. `news_id` mediumint(9) NOT NULL DEFAULT '0',
  8. `comment_time` int(13) NOT NULL DEFAULT '0',
  9. `poster_id` mediumint(9) NOT NULL DEFAULT '0',
  10. `comment_text` text NOT NULL,
  11. `comment_edited` int(13) NOT NULL DEFAULT '0',
  12. PRIMARY KEY (`comment_id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;


No i skonstruowałem sobie takie zapytanie, tylko nie wiem co dalej i czy w ten sposób coś osiągnę:
  1. <?php
  2. $sql = "SELECT p.*, c.*
  3. FROM " . POSTS_TABLE . " p, " . COMMENTS_TABLE . " c
  4. WHERE p.poster_id = " . $profiledata['user_id'] . "
  5. AND c.poster_id = " . $profiledata['user_id'] . "
  6. ORDER BY p.post_time
  7. AND c.comment_time
  8. DESC
  9. LIMIT 0, 10";
  10. ?>
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.