Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak napisac zapytanie do 2 tabel
dobryvinyl.com
post
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


Witam

mam takie tabele

Witam, pisze wlsnie prosty skrypcik forum. Chcial bym jednak aby byl on dosc optymalny.

Sklada sie on z 3 tabel

forum_fora / zawiera ona fora

- id
- data
- nazwa
- opis
- priorytet
- miasto_id


forum_tematy / zawiera tematy przpisane do odpowiedniego fora

- id
- data
- temat
- tresc
- foro_id
- status
- nick
- email



i jak teraz wypisac 5 najnowszych tematow z danego miasta?

Ten post edytował dobryvinyl.com 20.11.2005, 14:02:29
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #2





Goście







W miejscu gdzie masz ostatnie tematy, wyczytujesz ostatnie rekordy z tabeli z tematami, gdzie foro_id = id(z tabeli forum_fora)
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #3





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


tyle to ja wiem ale cos mi niewychodzi napisanei tego zapytania
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #4





Goście







Najpierw łączysz się do tabeli z forami, rozumiem, że zamierzasz to jakoś wyświetlać jak na każdym forum, po kolei. Przypisujesz:

  1. <?php
  2. $forum = $wyczytanebanezbazy[id];
  3. ?>


I potem łaczysz się do tabeli z tematami:

  1. SELECT *
  2. FROM forum_tematy WHERE foro_id = $forum ORDER BY DATA DESC LIMIT 5


Ten post edytował Wieviór 20.11.2005, 13:54:49
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #5





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


eh dalej nie oto mi chodzi chodzi mi o napisanie takiej relacji miedzy tymi dwoma tabelami zeby wypisac tematy z for, ktorego kategoria nalezy do danego miasta.
Go to the top of the page
+Quote Post
ennics
post
Post #6





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


  1. SELECT *
  2. FROM forum_fora f1
  3. LEFT JOIN forum_tematy f2 USING(id)
  4. WHERE ...
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #7





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


W dalszym ciagu cos nietak. Relacja wyglada umnie nastepujaco

  1. <?php
  2. $wynik_temat = mysql_query ("select t.temat, t.id, f.id, f.miasto_id from forum_tematy t, forum_fora f W
    HERE f.id=t.foro_id AND f.miasto_id='$miasto' ORDER BY `t.data` DESC LIMIT 0 , 7 "
    );
  3.     while($rekord_temat = mysql_fetch_array ($wynik_temat)){
  4.  
  5. ?>



i caly czas mam Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource


jak zrobic zemy mysql wyplu cos wiecej na temat bledu?

Ten post edytował dobryvinyl.com 20.11.2005, 16:13:54
Go to the top of the page
+Quote Post
ennics
post
Post #8





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


  1. <?php
  2.  
  3. $wynik_temat = mysql_query ("select t.temat, t.id, f.id, f.miasto_id from forum_tematy t, forum_fora f W
    HERE f.id=t.foro_id AND f.miasto_id='"
    . $miasto ."' ORDER BY `t.data` DESC LIMIT 0 , 7 ");
  4. while($rekord_temat = mysql_fetch_array ($wynik_temat)){
  5.  
  6. ?>
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #9





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


dalej mam blad:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

a czy idzie jakos wypluc o jaki argument mu chodzi?
Go to the top of the page
+Quote Post
ennics
post
Post #10





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


spróbuj
  1. <?php
  2.  
  3.  
  4. $wynik_temat = mysql_query ("select t.temat, t.id, f.id, f.miasto_id from forum_tematy t, forum_fora f W
    HERE f.id=t.foro_id AND f.miasto_id='"
    . $miasto ."' ORDER BY `t.data` DESC LIMIT 0 , 7 ");
  5. while($rekord_temat = mysql_fetch_array ($wynik_temat)){
  6. }
  7.  
  8.  
  9. ?>

pokaże Ci kod i opis ostatniego błędu mysql
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #11





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


hmm kod:

  1. <?php
  2. $wynik_temat = mysql_query ("select t.temat, t.id, f.id, f.miasto_id from forum_tematy t, forum_fora f W
    HERE f.id=t.foro_id AND f.miasto_id='"
    . $miasto ."' ORDER BY `t.data` DESC LIMIT 0 , 7 ");
  3. while($rekord_temat = mysql_fetch_array ($wynik_temat)){
  4.  
  5.  
  6.  
  7. if($licznik_c=="0"){
  8. print "<tr valign="top">";
  9. $licznik_c++;
  10. }else{
  11. print "<tr bgcolor="#EEEEEE" valign="top">";
  12. $licznik_c=0;
  13. }
  14. print "<td><img src="gfx/forum/strzalka.gif" width="5" height="7"><a href="?dzial=forum.post&temat=$rekord_temat[1]&miasto=$miasto">$rekord_temat[0]</a></td>";
  15.  
  16. print "</tr>";
  17.  
  18. }
  19.  
  20. ?>


wypluwa mi:

Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /XXXXX/inc/forum/forum_index.php on line 16
mysql_error:mysql_errno



wiec chyba cos nie tak?
Go to the top of the page
+Quote Post
ennics
post
Post #12





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


co jest w 16 linijce ? bo chyba nie chodzi o print "</tr>";
Go to the top of the page
+Quote Post
Ociu
post
Post #13





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. ?>

?
chyba
  1. <?php
  2. print mysql_error() . ":" . mysql_errno();
  3. ?>
Go to the top of the page
+Quote Post
dobryvinyl.com
post
Post #14





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 1.11.2004

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


jak mam sobie to wytlumaczyc ?


Unknown column 't.data' in 'order clause':1054



a jak wywalilem date to mi wyskoczylo



You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC LIMIT 0 , 7' at line 1:1064

Ten post edytował dobryvinyl.com 20.11.2005, 19:08:09
Go to the top of the page
+Quote Post
Ociu
post
Post #15





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Masz w tabeli t kolumnę data ? Zobacz poprawnośc nazw, spróbuj przetestować zapytanie w phpmyadmin.
Go to the top of the page
+Quote Post

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: 20.12.2025 - 17:34