Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] ograniczenie do kilku wynikow z roznych kategorii
Forum PHP.pl > Forum > PHP
ITI
W bazie danych mam tabele kategorii:

id, kategoria
1, z kraju
2, ze swiata
3, z okolicy

oraz tabele newsow:
id, kat, news
1, 3, tekst1
2, 3, tekst2
3, 3, tekst3
4, 1, tekst4
5, 1, tekst5
6, 1, tekst6
7, 2, tekst7
8, 1, tekst8
9, 1, tekst9

Odnosnie tabeli newsow, pole "kat" przydziela danego newsa do odpowiedniej kategorii.

Potrzebuje wyciagnac np. 2 ostatnie newsy z kazdej kategorii.
Aktualnie robie to tak, ze po kolei odwoluje sie do tabeli kategorii i wyswietlam poszczegolne rekordy (kategorie) i przy kazdym rekordzie dodatkowo wypisuje odpowiednia ilosc newsow do niej przypisanych.

Czyli tak w skrocie (nie patrzec na skladnie, bo jest niepoprawna biggrin.gif )

select * from kategorie
# tutaj jest petla WHILE z ktorej dostaje po kolei id_kategorii
{
select * from newsy where kat='id_kategorii' LIMIT 0,2
}

Widac, ze nie jest to dobre rozwiazanie, bo niepotrzebnie generuje spory ruch w bazie ;(

Czy da sie to jakos inaczej rozwiazac questionmark.gif
em1X
Nie masz dostępu do crona? takie rzeczy wrzucaj do cache'u i uaktualniaj co jakiś czas.
ITI
Mam lepszy sposob biggrin.gif Zrobilem cachowanie biggrin.gif i wtedy kto pierwszy wejdzie na strone, wykona zapytanie do bazy, a na serwerze zapisze sie odpowiedni plik. Kolejne osoby po prostu czytaja dane z tego pliku biggrin.gif Dzieki temu mozna kombinowac dowoli biggrin.gif

Dzieki za pomysl z cronem, bo to dalo mi do myslenia biggrin.gif
em1X
Cytat(ITI @ 3.02.2008, 17:39:52 ) *
Mam lepszy sposob biggrin.gif


O tym właśnie pisałem. sciana.gif sciana.gif sciana.gif
ITI
Cytat(em1X @ 3.02.2008, 17:57:02 ) *
O tym właśnie pisałem. sciana.gif sciana.gif sciana.gif


A no tak... biggrin.gif Jak zwykle odpisuje nie czytajac na co odpisuje biggrin.gif
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.