Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie - art, tag, kategoria
LonelyKnight
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Hej,

Może mi ktoś pomóc w ułożeniu zapytania, który wybiera artykuł, jego tagi i kategorie w jakich jest dodany?

BD:

arts - id, tytuł, treść
categories - id, nazwa kategorii
tags - id, tag

art2cat - złączeniowa ID art do ID kategorii
art2tag - złączeniowa ID art do ID tagów

i teraz chce wybrać np. 10 artów + kategorie i tagi tych artów - jednym zapytaniem najlepiej ;-) Jeden art może mieć wiele tagów i wiele kategorii.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LonelyKnight
post
Post #2





Grupa: Zarejestrowani
Postów: 240
Pomógł: 13
Dołączył: 1.06.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1.  
  2. --
  3. -- Struktura tabeli dla `art2cat`
  4. --
  5.  
  6. CREATE TABLE IF NOT EXISTS `art2cat` (
  7. `artID` int(10) UNSIGNED NOT NULL,
  8. `catID` mediumint(8) UNSIGNED NOT NULL,
  9. KEY `artID` (`artID`),
  10. KEY `catID` (`catID`)
  11. ) ENGINE=MyISAM;
  12.  
  13. -- --------------------------------------------------------
  14.  
  15. --
  16. -- Struktura tabeli dla `art2tag`
  17. --
  18.  
  19. CREATE TABLE IF NOT EXISTS `art2tag` (
  20. `artID` int(10) UNSIGNED NOT NULL,
  21. `tagID` int(10) UNSIGNED NOT NULL,
  22. KEY `artID` (`artID`,`tagID`)
  23. ) ENGINE=MyISAM;
  24.  
  25. -- --------------------------------------------------------
  26.  
  27. --
  28. -- Struktura tabeli dla `arts`
  29. --
  30.  
  31. CREATE TABLE IF NOT EXISTS `arts` (
  32. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  33. `ownerID` int(10) UNSIGNED NOT NULL,
  34. `title` varchar(200) NOT NULL,
  35. `art` longtext NOT NULL,
  36. `published` tinyint(1) NOT NULL,
  37. `add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  38. `add_ip` varchar(15) NOT NULL,
  39. PRIMARY KEY (`id`),
  40. KEY `ownerID` (`ownerID`)
  41. ) ENGINE=MyISAM;
  42.  
  43. -- --------------------------------------------------------
  44.  
  45. --
  46. -- Struktura tabeli dla `categories`
  47. --
  48.  
  49. CREATE TABLE IF NOT EXISTS `categories` (
  50. `id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  51. `category` varchar(100) NOT NULL,
  52. PRIMARY KEY (`id`),
  53. KEY `artID` (`category`)
  54. ) ENGINE=MyISAM;
  55.  
  56. -- --------------------------------------------------------
  57.  
  58. --
  59. -- Struktura tabeli dla `tags`
  60. --
  61.  
  62. CREATE TABLE IF NOT EXISTS `tags` (
  63. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  64. `tag` varchar(25) NOT NULL,
  65. PRIMARY KEY (`id`),
  66. UNIQUE KEY `tag` (`tag`)
  67. ) ENGINE=MyISAM;
  68.  


Zrobiłem to na 3 zapytaniach ale jakby ktoś miał pomysł jak wybrać te rekordy jednym to byłbym wdzięczny.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 07:40