Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

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


Bellum

Rekomendowane odpowiedzi

Witam, nie bardzo wiem gdzie napisać ten temat, jeżeli dział nie właściwy, to ubolewam.

Mam pytanie a raczej ich gamę.

Otóż posiadam stronę www.(...).com i podkatalog www.(...).com/forum z zainstalowanym już forum, cóż buduję stronę główną no i potrzebuję sporej wiedzy na moją główkę: na forum znajduje się dział Artykuły z subkategoriami a w nich odpowiednie artykuły.

post-676-1267376163,6086_thumb.jpg

Chciałbym na stronie głównej umieścić w menu nr.1 wyłącznie listę z subkategorii z działu artykuły.

Teraz gdy wybiorę z menu odpowiednią subkategorię, to w polu nr.2 wyświetli się spis artykułów z odpowiednio wybranej subkategorii.

Oczywiście by wszystko miało ręce i nogi, subkategorie z menu oraz ich odpowiedniki artykuły powinny się aktualizować wraz ze zmianami dokonanymi na forum.

To się bodajże nazywa integracja portalu z forum.

W konkluzji proszę o opis takiej funkcji.

Pozdrawiam Serdecznie

Odnośnik do komentarza
Udostępnij na innych stronach

Hej,

O integracji mówimy w przypadku dzielenia bazy danych forum z portalem (wspólne logowanie, użytkownicy itp.). W Twoim przypadku najłatwiej wstawić na sztywno nazwy kategorii podlinkowane do stron, które będą wyświetlały wiadomości udostępnione poprzez kanał RSS forum.

Odnośnik do komentarza
Udostępnij na innych stronach

Hej,

O integracji mówimy w przypadku dzielenia bazy danych forum z portalem (wspólne logowanie, użytkownicy itp.). W Twoim przypadku najłatwiej wstawić na sztywno nazwy kategorii podlinkowane do stron, które będą wyświetlały wiadomości udostępnione poprzez kanał RSS forum.

No i właśnie a sztywności chcę uniknąć, niech będzie sporo pracy, potu i wysiłku ale efekt jest jak najbardziej opłacalny.

Odnośnik do komentarza
Udostępnij na innych stronach

Tak często zmieniają się u Ciebie kategorie? Dalej nie pomogę, bo wymagasz znajomości PHP :D

Ta funkcja jest w całości w PHP dlatego też dumanie nad (czy tak często zmieniają się kategorie) nie będzie istnieć, posiadam książkę Vademecum Profesjonalisty PHP 5 ale to jakaś czarna magia.

Dlatego liczę na pomoc osoby znającej się na PHP i IBP3.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Na jaką pomoc liczysz? Podkreślam - pomoc.

Które tabele i rekordy odpowiadają za zestaw nr.1 a które za zestaw nr.2. (Forum IPB 3.0.3).

Proszę również o skrypt wyświetlający zawartość wybranej tabeli w pętli, nie chcę żadnych odnośników do poradników php.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Co jest zestawem nr 1 i nr 2?

Zawartość tabeli:

$this->DB->build( array(
					'select'	=> '*',
					'from'		=> 'members'
));

$this->DB->execute();

if( $this->DB->getTotalRows())
{
while( $row = $this->DB->fetch() )
{
	// cos co chcesz robic z danymi
}
}

Wersja bardzo mini, ale spełnia zadanie.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Co jest zestawem nr 1 i nr 2?

Zawartość tabeli:

$this->DB->build( array(
					'select'	=> '*',
					'from'		=> 'members'
));

$this->DB->execute();

if( $this->DB->getTotalRows())
{
while( $row = $this->DB->fetch() )
{
	// cos co chcesz robic z danymi
}
}

Wersja bardzo mini, ale spełnia zadanie.

Zestaw nr.1 to menu coś jak kategorie tyle, że tu chodzi o to jak już przedstawiłem w poście nr.1, na forum mam działy jeden z działów to artykuły, dział ten zawiera subkategorie np: Komputery, Xbox itp. każda z tych subkategorii posiada odpowiednie tematy.

Całość działa na zasadzie: nr.1 menu wyświetla wyłącznie listę subkategorii z działu Artykuły => jeżeli (kliknę) odpowiednią subkategorię w menu to w polu nr.2 zostaną wyświetlone tematy z tej subkategorii, to wszystko.

Kod który podałeś nie jest dla mnie zrozumiały, nie potrafię nawet prawidłowo wyświetlić czegokolwiek z bazy danych np: samych nazw tematów od tak sobie, wyświetla mi w rządku 30 Array. Gdy korzystam sobie z poradników http://www.kess.snug.pl/?sid=10&pid=43, tworzy to 30 linków EDIT DEL na które jeżeli najadę myszką widzę nazwy tematów, lecz by wyświetlić sobie to w sposób jaki prezentuje się na forum nie potrafię. Dane wyciągam z

title from topics.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Oj oj, to Ty nic sam nie zrobisz. Nie wiem, jakiej pomocy oczekujesz, raczej gotowego kodu.

Kod który podałem jest, że tak to ujmę elementarny, nie zrozumienie jegoż skutkuje niczym więcej, jak koniecznością poszukiwać gotowego kodu lub oczekiwania na użytkownika któy poświęci na to dobrą część swojego czasu i Ci to poda lub udania się do działu Giełda.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Oj oj, to Ty nic sam nie zrobisz. Nie wiem, jakiej pomocy oczekujesz, raczej gotowego kodu.

Kod który podałem jest, że tak to ujmę elementarny, nie zrozumienie jegoż skutkuje niczym więcej, jak koniecznością poszukiwać gotowego kodu lub oczekiwania na użytkownika któy poświęci na to dobrą część swojego czasu i Ci to poda lub udania się do działu Giełda.

Dokładnie najchętniej zjadłbym gotowca. Co z tego, że kupiłem książkę VP PHP5 jak nic mnie to nie dało, no ale chyba pomyliłem stopnie i spadłem na ryj. Trudno znaleźć dobrą książkę a jeszcze trudniej dobry poradnik internetowy. Powiedz mi DawPi na ile wyceniałbyś napisanie takiego skryptu.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Oj, nie wycenię Ci - ot tak się nie da. Nie ja. :-) Napisz w giełdzie jeśli chcesz gotowca - może się ktoś zgłosi. :-)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Oj, nie wycenię Ci - ot tak się nie da. Nie ja. :-) Napisz w giełdzie jeśli chcesz gotowca - może się ktoś zgłosi. :-)

ok, w takim razie powrócę jeszcze do oczekiwanej pomocy.

<?php
$zapytanie = "SELECT `tid`,`title`,`description`,`views` FROM `topics`";
$idzapytania = mysql_query($zapytanie);

echo '<table>';
while ($wiersz = mysql_fetch_row($idzapytania)) 
{
 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>';
?>

Powolutku dojdę sobie do końca, ale mam pytanie skrypt ten wyświetla id, temat, opis, ilość wyświetleń wszystkich tematów. Teraz w jakiej tabeli przechowywane są nazwy działów i subkategorii? => jak wyświetlić tylko te tematy, które są przypisane do odpowiedniej subkategorii?

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Kategorie - w forums.

Dla tematów tylko z danej kategorii -> WHERE forum_id IN(3,4,5), gdzie 3,4,5 to ID kategorii.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Kategorie - w forums.

Sam znalazłem :D

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

Odnośnik do komentarza
Udostępnij na innych stronach

JOIN.

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

Edytowane przez Bellum
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

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

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

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>';

Edytowane przez Bellum
Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

		$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

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

		$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.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.