Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomysl na pobieranie wielu danych
quality
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Witam
Mysle jak dobrze zorganizowac pobieranie wielu danych. Moze pytanie nie nalezy do najbardziej wymagajacych, jednak zastanawiam sie ktory sposob jest szybszy i latwiejszy w pozniejszym renderowaniu na stronie. Zalezy mi na jakosci programu i kodu (IMG:style_emoticons/default/smile.gif) .
Podaje przyklad mamy liste sond, kazda ma po kilka pytan.

Jak najlepiej pobrac dane z bazy ?

1. Pierwsze co sie nasuwa to zeby pobrac najpierw same sondy, a pozniej w osobnym zapytaniu odpowiedzi do kazdej znich umiescic w innej tabeli.
Jest to rozwiazanie ktore do tej pory stosowalem, jednak nie jestem pewien czy jest najlepsze.

2. Pobierac wszystko jednym zapytaniem uzywajac LEFT JOIN, wtedy nie mamy dwoch zapytan tylko jedno. Niestety robi sie powtarzanie danych samej sondy, no i pozniej trzeba sie troche nakombinowac przy odpowiednim wyswietleniu.

Ktorego sposobu uzywacie ? Macie jakis za i przeciw ? (IMG:style_emoticons/default/smile.gif) A moze ktos obral inny sposob.

Dzieki za informacje i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
quality
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Hmmm bardzo ciekawe mozecie podac jakis przyklad zapytania ?

Moze zylem w blogiej nieswiadomosci (IMG:style_emoticons/default/biggrin.gif)

nospor hmmm no stadardowo sa powtarzane dane z samych sond i listujac trzeba rozpoznac kiedy zaczyna sie nastepnasonda. W sposobie zzeus widze ze ten problem nie istnieje, jednak explode danych pozniej hmmm sam nie wiem.


Hmmm znalazlem takiecos

  1.  
  2. SELECT entries.*, channels.channel_name AS chname,
  3. GROUP_CONCAT(channels.channel_name) AS channel_names
  4. FROM entry_channel
  5. INNER JOIN entries ON entry_channel.entry_id = entries.entry_id
  6. INNER JOIN channels ON entry_channel.channel_id = channels.channel_id
  7. GROUP BY entry_channel.entry_id
  8. HAVING chname = 'krzaki'
  9. ORDER BY entries.created_at DESC
  10. LIMIT 25
  11.  


Powiedzcie wynik w kolumnie "channel_names" gdzie zastosowalem GROUP_CONCAT, bedzie oddzielony przecinkiem ? Trzeba robic explode czy jakos inaczej to jest zrobione. Jeszcze nie zdazylem przetestowac (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował quality 22.04.2010, 10:10:50
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: 3.10.2025 - 07:57