Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Łączenie dwóch tabel problem
atomek_16
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 3.09.2004

Ostrzeżenie: (10%)
X----


Witam,

Tabela1, kolumny:
id, tresc, datadodania

Tabela2, kolumny:
id, tresc, datadodania

I teraz rzecz polega na tym, żeby poprzez zapytanie wyświetlić w jednym rzędzie do LIMIT 0,5 wartości z obydwu tabel, posortowane według daty.
Kwestia taka, że tabela1 ma ponad pół miliona wartości, a druga około 40 tysięcy. Przy próbie wyświetlenia z dwóch naraz zabija się mysql. sad.gif Ja coś źle robię.


Drugi problem to taki, że jak już posortuje się te wartości to żeby w while zamiennie link prowadził
index.php?wyswietl=$a['id'] / tabela 1
index.php?pokaz=$a['id'] / tabela 2

Rozwiązałem problem w ten sposób:

  1. (SELECT Tabela1.id AS a, Tabela1.tresc AS b, Tabela1.datadodania
  2. AS c
  3. FROM Tabela1 ORDER BY Tabela1.id DESC LIMIT 0, 10)
  4.  
  5. UNION ALL
  6.  
  7. (SELECT Tabela2.id AS aa, Tabela2.tresc AS bT, Tabela2.datadodania AS cc
  8. FROM Tabela2 ORDER BY Tabela2.id DESC LIMIT 0, 10)
  9.  
  10. ORDER BY c DESC LIMIT 0, 12");


cały skrypt:
  1. <?php
  2. $dzialaj = mysql_query("(SELECT Tabela1.id AS a, Tabela1.tresc AS b, Tabela1.datadodania
  3. AS c
  4. FROM Tabela1 ORDER by
  5. Tabela1.id DESC LIMIT 0,10)
  6.  
  7. UNION ALL
  8.  
  9. (SELECT Tabela2.id AS aa, Tabela2.tresc AS bT, Tabela2.datadodania AS cc
  10. FROM Tabela2 ORDER by
  11. Tabela2.id DESC LIMIT 0,10)
  12. ORDER by c DESC LIMIT 0,12") or die (__LINE__.mysql_error());
  13.  
  14. while ($q = mysql_fetch_array($dzialaj)) {
  15. echo "";
  16. }
  17. ?>


Aby wykombinować zmianę linków w przypadku jakimś tam niestety musi być polę w obydwu tabelach o takiej samej nazwie z różnymi wartościami. Może ktoś ma pomysł, jak rozróżnić to po nazwie tabeli, a nie po wartościach w nich ?

Ten post edytował atomek_16 12.06.2007, 23:11:46
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 19:36