Skocz do zawartości


- - - - -

Strona główna + Forum = współpraca


  • Nie możesz odpowiedzieć
52 odpowiedzi w tym temacie

#16 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 17:49

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 17:41 napisał

Kategorie - w forums.
Sam znalazłem :D

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 17:41 napisał

Dla tematów tylko z danej kategorii -> WHERE forum_id IN(3,4,5), gdzie 3,4,5 to ID kategorii.
ok spróbuję i będę kombinował.

Kolejne moje pytanie w jaki sposób wyświetlić dane z dwóch tabel? Nazwy kategorii są w FORUMS a posty i tematy w TOPICS w jaki sposób w jednym zapytaniu wyświetlić rekordy z dwóch tabel?

Pozdrawiam


#17 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 17:51

JOIN.
intermedia - profesjonalne rozwiązania Invision Power Board

#18 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 18:09

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 17:51 napisał

Dzięki za poprzednie działa wyśmienicie, co do tego JOIN to wyskakują mi różnego rodzaju błędy, być może nie potrafię odpowiednio umieścić tego w funkcji, gdyż już od godziny przeszukuję internet i znam ten tag.
$mysql = "SELECT tid,title,description,views FROM topics WHERE forum_id IN(7) LEFT JOIN name FROM forums";
np: tak niedziała

Użytkownik Bellum edytował ten post 02 marzec 2010 - 18:19


#19 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 18:14

No tak, być może. :D Jednak owe różnego rodzaju błędy, są bardzo dobrze opisane i po prostu trzeba poprawić, co tam krzyczy. Lub wkleić tutaj kod oraz treść błędu i może coś wspólnie wymyślimy.
intermedia - profesjonalne rozwiązania Invision Power Board

#20 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 18:25

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 18:14 napisał

No tak, być może. :D Jednak owe różnego rodzaju błędy, są bardzo dobrze opisane i po prostu trzeba poprawić, co tam krzyczy. Lub wkleić tutaj kod oraz treść błędu i może coś wspólnie wymyślimy.

Cytat

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 'LEFT JOIN name FROM forums' at line 1
Jakieś lekarstwo? :D

$mysql = "SELECT tid,title,description,views FROM topics WHERE forum_id IN(7) LEFT JOIN name FROM forums";
$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());

echo '<table>';
while ($wiersz = mysql_fetch_row($wykonaj)) 
 {
  echo '<tr><td style="background: #0B3E61">'. $wiersz[0] .'</td><td style="background: #0B3E61">'. $wiersz[1] .'</td><td style="background: #0B3E61">'. $wiersz[2] .'</td></tr><tr><td style="background: #0B3E61" colspan="3">'.'Wyświetleń: '. $wiersz[3] .'</td></tr>';
 }
echo '<table>';

Użytkownik Bellum edytował ten post 02 marzec 2010 - 18:29


#21 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 20:05

No to uczymy się dalej - dlaczego właśnie takie zapytanie skonstruowałeś? :D
intermedia - profesjonalne rozwiązania Invision Power Board

#22 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 20:19

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 20:05 napisał

No to uczymy się dalej - dlaczego właśnie takie zapytanie skonstruowałeś? :D
Aby wyświetlić sobie listę tematów z odpowiedniej kategorii + listę nazwy działów i subkategorii (tu akurat wszystkie), a dążę do tego by wyświetlić tematy z odpowiedniej kategorii (zrobione) + nazwa z jakiego działu pochodzą, coś jak menu z nagłówkiem.

#23 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 20:49

		$this->DB->build( array( 'select'   => 't.*',
								 'from'     => array( 'topics' => 't' ),
								 'where'    => 't.forum_id IN (3,4)',
								 'add_join' => array( array( 'select' => 'f.name',
															 'from'   => array( 'forums' => 'f' ),
															 'where'  => 't.forum_id=f.id',
															 'type'   => 'left' ) ) ) );
		$this->DB->execute();
		
		while( $row = $this->DB->fetch() )
		{
			echo 'tytul tematu: ' . $row['title'] . ', napisany w forum: ' . $row['name'] . '<br />';	
		}

Serio powinieneś zaglądać do kodu źródłowego - znajdziesz tam wszystko czego potrzebujesz.
intermedia - profesjonalne rozwiązania Invision Power Board

#24 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 21:04

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 20:49 napisał

		$this->DB->build( array( 'select'   => 't.*',
								 'from'     => array( 'topics' => 't' ),
								 'where'    => 't.forum_id IN (3,4)',
								 'add_join' => array( array( 'select' => 'f.name',
															 'from'   => array( 'forums' => 'f' ),
															 'where'  => 't.forum_id=f.id',
															 'type'   => 'left' ) ) ) );
		$this->DB->execute();
		
		while( $row = $this->DB->fetch() )
		{
			echo 'tytul tematu: ' . $row['title'] . ', napisany w forum: ' . $row['name'] . '<br />';	
		}

Serio powinieneś zaglądać do kodu źródłowego - znajdziesz tam wszystko czego potrzebujesz.
Nie rozumiem takiego kodu na obecnym etapie, dlatego próbuję pisać to w sposób dla mnie zrozumiały a z czasem dojdę do takich ekstrawagancji.

#25 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 21:06

Z tym, że te 'ekstrawagancje' są znacznie prostsze (!). :D
intermedia - profesjonalne rozwiązania Invision Power Board

#26 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 21:28

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 21:06 napisał

Z tym, że te 'ekstrawagancje' są znacznie prostsze (!). :D
(...) i dziwić się tu, że większość stron wygląda jak z przed wojny, toż jeszcze trochę a strony w hexie będziemy pisać, no nic spróbuję siłami przebić się przez ten jak dla mnie miszmasz. :D

#27 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 02 marzec 2010 - 22:28

Przy kodzie IP.Board nie martwisz się o sprawdzanie bezpieczeństwa itd. Po prostu to taki framework, który polecam do tworzenia kodu do niego ( skryptu forum ).
intermedia - profesjonalne rozwiązania Invision Power Board

#28 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 02 marzec 2010 - 23:52

Wyświetl postUżytkownik DawPi dnia 02 marzec 2010 - 22:28 napisał

Przy kodzie IP.Board nie martwisz się o sprawdzanie bezpieczeństwa itd. Po prostu to taki framework, który polecam do tworzenia kodu do niego ( skryptu forum ).
Cóż ja się nie poddaję :D

	$mysql = "SELECT title,post FROM posts, topics)";
	$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
	echo '<DIV ID="MENU"><dl id="menu0">';
	while ($wiersz = mysql_fetch_row($wykonaj)) 
		{
	echo '<dt>'. $wiersz[0] .'</dt><dd>'. $wiersz[1] .'</dd>';
		}	
		echo '</dl></DIV>';
Mam takie pytanie w jaki sposób wyświetlić teraz wyłącznie te posty i tytuły z odpowiedniej kategorii.

WHERE forum_id IN(7)
To działa wyśmienicie gdy chcę wyświetlić wyłącznie tytuły z odpowiedniej kategorii, teraz w jaki sposób dodać do tego również posty? Z poprzednim problemem już sobie poradziłem :D

Użytkownik Bellum edytował ten post 02 marzec 2010 - 23:52


#29 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49517 postów
  • Wersja:IP.Board 3.2.3

Napisano 03 marzec 2010 - 00:02

A jak myślisz, jakby to można było zrobić?
intermedia - profesjonalne rozwiązania Invision Power Board

#30 Bellum

  • Użytkownik
  • 131 postów
  • Wersja:IP.Board 3.1.4

Napisano 03 marzec 2010 - 00:11

Wyświetl postUżytkownik DawPi dnia 03 marzec 2010 - 00:02 napisał

A jak myślisz, jakby to można było zrobić?
Nie mam zielonego pojęcia. Siedzę sobię na stronie przeglądając możliwości warunku WHERE, i nic mi nie świta.

Próbowałem, oczywiście nic z tego, nie wstydzę się błędów oraz prób, gdyż tak najłatwiej się nauczę.

WHERE topic_id=forum_id IN(7)






Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych