forum.invisionize.pl - Support IP.Board: Strona główna + Forum = współpraca - forum.invisionize.pl - Support IP.Board

Skocz do zawartości

  • (4 stron)
  • +
  • 1
  • 2
  • 3
  • 4
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Strona główna + Forum = współpraca Oceń temat: -----

#31 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 03 marzec 2010 - 01:57

Najlepiej pobierz ID tematów - zapisz do jakiejś tablicy, a potem wykonaj drugie zapytanie pobierające wszystkie posty z tabeli posts. Reszta to już PHP i połączenie tego w całość. Z pomocą przyjdą Ci na pewno tablice wielowymiarowe ( tablice w tablicach ).
intermedia - profesjonalne rozwiązania Invision Power Board
0

#32 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 20 marzec 2010 - 15:22

Wyświetl postUżytkownik DawPi dnia 03 marzec 2010 - 01:57 napisał

Najlepiej pobierz ID tematów - zapisz do jakiejś tablicy, a potem wykonaj drugie zapytanie pobierające wszystkie posty z tabeli posts. Reszta to już PHP i połączenie tego w całość. Z pomocą przyjdą Ci na pewno tablice wielowymiarowe ( tablice w tablicach ).

Witam, miałem problemy z serwerem co opóźniło mnie o ładne 2 tygodnie, jednak powyższy problem został rozwiązany:
SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (14) AND p.author_id IN (2)"

Wyświetl tytuły i posty z kategorii o id 14 i tylko autorstwa użytkownika id 2 :D
A teraz napiszę nowy temat, tego proszę jeszcze nie zamykać, gdyż będę kontynuował wątek zmiennych.

Pozdrawiam
0

#33 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 00:33

Jako, że jest to forum o IPB 3 a ja mam pytania z dziedziny pokrewnej, to brnę dalej :D

Kod odpowiadający za wyświetlenie podkategorii z kategorii Artykuły, co w rezultacie tworzy menu. Ułożyłem je w identyczny sposób w jaki były wyświetlane na forum oraz przypisałem im ich ID(kategorii)


<?php
	//Baza danych
	
	include"inc/mysql_access.php";
	
	//Wyświetlanie menu
	
	$mysql = "SELECT name, id FROM forums WHERE parent_id IN (4) ORDER BY position ASC";
	$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
	echo '<div id="nav">
			<dl>
				<dt>Kategorie</dt>';
	while ($wiersz = mysql_fetch_row($wykonaj)) 
		{
	echo('<dd><A HREF=\"index.php?id='.$wiersz[1].'\">'.$wiersz[0].'</A></dd>');
		}	
		echo '</dl>
					</div>';
	mysql_close($connection);
?>

Miło byłoby gdyby odnośniki te (po kliknięciu odpowiedniego odnośnika) wyświetlały w centrali strony listę odpowiednich tematów.
Sztywny proces wyświetlania postów+tytuł znam, oto kod:


Wyświetl tytuły i posty z kategorii o id 14 i tylko autorstwa użytkownika id 2
<?php
	include"inc/mysql_access.php";
	
	//Wyświetlanie menu
	
	$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (11) AND p.author_id IN (2)";
	$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: #1d3652; padding: 5px 5px 5px 5px; color: #fff; font-weight: bold;">'. parsebbcode($wiersz[0]) .'</td></tr>' . '<tr><td style="background: #e4ebf2; padding: 5px 5px 5px 5px;">'. parsebbcode($wiersz[1]) .'</td></tr>';
		}	
		echo '</table>';
	mysql_close($connection);
?>


Ja natomiast jestem w takim miejscu, że stoję na środku pola i nie wiem w którą stronę pójść, gdyż i tak wracam w to samo miejsce.
Co mam zrobić aby w centrali strony była wyświetlana zawartość odpowiednich odnośników, pobierać id z odnośnika, zastosować funkcje $_GET, której nie potrafię zastosować w przypadku pętli, jak i funkcji if. Wiem, że można rozpisać drugi kod, tylko, że nie wiem nawet za co się zabrać.

0

#34 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 12:53

Nie rozumiem pytania. :D
intermedia - profesjonalne rozwiązania Invision Power Board
0

#35 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 14:26

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 12:53 napisał

Nie rozumiem pytania. :D

Bez paniki, to się zdarza najlepszym!
W tym temacie w pierwszym poście opisuję, to co zamierzam zrobić:
Zrobiłem dynamiczne menu tak, że wyświetla subkategorię z kategorii Artykuły, a wygląda to tak:


Załączony plik  wwwmenuitp.jpg (170,92 KB)
Ilość pobrań: 4
Pierwszy kod odpowiada za wyświetlanie menu, pobiera z bazy danych subkategorie z działu artykuły i wyświetla je w postaci listy (ułożonej identycznie jak na forum) dzięki czemu przypisałem im również ich (ID) - w efekcie otrzymuję menu - pozostało zrobić by działało.
Działało w sposób taki, że jeżeli kliknę odpowiedni link w menu, to w środkowej części strony zostanie wyświetlona lista tematów z tej podkategorii, coś jak z menu w case, switch, GET_id, tyle, że tutaj wszystko jest w bazie danych a nie w plikach.

Drugi kod, odpowiada za sztywne wyświetlanie listy tematów z postami - dodaję go jako wzór, bądź przykład, chodzi o to, że można go zmodyfikować, jeżeli kliknę w menu odpowiedni link, który posiada odpowiednie ID, wtedy zmienna ta jest przekazywana do miejsca gdzie wyświetlany ma być spis tematów, i w efekcie wyświetla ten odpowiedni spis. Najprościej rzec ujmując kliknięcie odpowiedniego odnośnika w menu, który posiada unikalne id, przekazuję jego id do

$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (11) AND p.author_id IN (2)";


t.forum_id IN (11)<== miejsca między te 2 nawiasy, dzięki czemu kliknięcie odpowiedniego odnośnika zmienia, tą wartość wklepując w nią odpowiednie ID odnośnika, który został kliknięty. Dzięki czemu wyskakuję lista odpowiednich tematów z odpowiedniego odnośnika.

Użytkownik Bellum edytował ten post 21 marzec 2010 - 14:30

0

#36 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 14:38

t.forum_id IN (intval($this->request['fid']))


Oczywiście wyżej musisz tę zmienną sprawdzić, 'zabezpieczyć' etc. A w linku dodawaj zmienną &fid=X.
intermedia - profesjonalne rozwiązania Invision Power Board
0

#37 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 15:17

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 14:38 napisał

t.forum_id IN (intval($this->request['fid']))


Oczywiście wyżej musisz tę zmienną sprawdzić, 'zabezpieczyć' etc. A w linku dodawaj zmienną &fid=X.

A mogę prosić o starszą wersję, gdyż w tym przypadku wyskakuję mi błąd:
Fatal error: Using $this when not in object context in D:\Program Files\WebServ\httpd\db\index.php on line 27

Prosiłbym coś w kierunku bez $this
Skrypt menu.php wygląda tak(poniżej) i zaznaczam, że jest on includowany do index.php:
Zmiany, to:

echo('<dd><A HREF="index.php?&fid='.$wiersz[1].'">'.$wiersz[0].'</A></dd>');

Wiersz[1] odpowiada za przydzielanie subkategorii ich własnemu ID.
<?php
	//Baza danych
	
	include"inc/mysql_access.php";
	
	//Wyświetlanie menu
	
	$mysql = "SELECT name, id FROM forums WHERE parent_id IN (4) ORDER BY position ASC";
	$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
	echo '<div id="nav">
			<dl>
				<dt>Kategorie</dt>';
	while ($wiersz = mysql_fetch_row($wykonaj)) 
		{
	echo('<dd><A HREF="index.php?&fid='.$wiersz[1].'">'.$wiersz[0].'</A></dd>');
		}	
		echo '</dl>
					</div>';
	mysql_close($connection);
?>

W index.php umieściłem następujący kod:
Zmiany, to:

$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (intval($this->request['fid'])) AND p.author_id IN (2)";

<?php
	include"inc/mysql_access.php";
	
	//Wyświetlanie menu
	
	$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (intval($this->request['fid'])) AND p.author_id IN (2)";
	$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: #1d3652; padding: 5px 5px 5px 5px; color: #fff; font-weight: bold;">'. parsebbcode($wiersz[0]) .'</td></tr>' . '<tr><td style="background: #e4ebf2; padding: 5px 5px 5px 5px;">'. parsebbcode($wiersz[1]) .'</td></tr>';
		}	
		echo '</table>';
	mysql_close($connection);
?>

0

#38 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 15:30

t.forum_id IN (intval($_GET['fid']))


:D
intermedia - profesjonalne rozwiązania Invision Power Board
0

#39 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 15:33

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 15:30 napisał

t.forum_id IN (intval($_GET['fid']))


:a:

Już tak próbowałem i dostaję błąd:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\Program Files\WebServ\httpd\db\index.php on line 27

:D
0

#40 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 15:47

Pokaż cały kod.
intermedia - profesjonalne rozwiązania Invision Power Board
0

#41 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 15:52

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 15:47 napisał

Pokaż cały kod.

index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
		<link href="css/scss.css" rel="stylesheet" type="text/css" />		
		<link href="css/niftyCorners.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript" src="js/niftycube.js"></script>
		<script type="text/javascript" src="js/niftyLayout.js"></script>
	</head>
<body>
<div id="logo">Awangarda Niedźwiedzia</div>
<div id="menu">W dniu dzisiejszym nastąpi <a href="#">Terefere</a> mmm niedźwiedź. <-- pasek do informacji 
	</div>

<div id="tpage">tutututututu
	</div>
<?php include_once"inc/menu.php" ?> #### Tu jest includowane to menu#######
<div class="page_header">heheheheh
	</div>
	
<div class="page">
<?php
function parsebbcode($text)
	{
	$array=array(

	'[b]' => '<b>', 

	'[/b]' => '</b>',

	'[i]' => '<i>',

	'[/i]' => '</i>', 

	'[u]' => '<u>',

	'[/u]' => '</u>',

	'[center]' => '<center>',

	'[/center]' => '</center>',

	'[big]' => '<h1>',

	'[/big]' => '</h1>',

	'[nl]' => '<br>',
	
	'[size=(.*?)]' => '<span style="font-size:(.*?)px\">',
	
	'[/size]' => '</span>',
	
		//Akapit
	
	'[indent]' => '<p style="margin: 50px; margin-top: 0px; margin-bottom: 0px;">',	
	'[/indent]' => '</p>',
	
		//Stopka artykułu
	
	'[info]' => '<p style="margin: 50px; margin-top: 0px; margin-bottom: 0px;">', 	
	'[/info]' => '</p>',

	);
	$newtext = str_replace(array_keys($array), array_values($array), $text);
	return $newtext;
	}

	include"inc/mysql_access.php";
	
	//Wyświetlanie artow
	
	$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (intval($_GET['fid'])) AND p.author_id IN (2)";
	$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: #1d3652; padding: 5px 5px 5px 5px; color: #fff; font-weight: bold;">'. parsebbcode($wiersz[0]) .'</td></tr>' . '<tr><td style="background: #e4ebf2; padding: 5px 5px 5px 5px;">'. parsebbcode($wiersz[1]) .'</td></tr>';
		}	
		echo '</table>';
	mysql_close($connection);
?>
	</div>
	<?php include_once"inc/add_art.php" ?>
	
<?php include_once"inc/footer.php" ?>

oraz menu.php
<?php
	//Baza danych
	
	include"inc/mysql_access.php";
	
	//Wyświetlanie menu
	
	$mysql = "SELECT name, id FROM forums WHERE parent_id IN (4) ORDER BY position ASC";
	$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
	echo '<div id="nav">
			<dl>
				<dt>Kategorie</dt>';
	while ($wiersz = mysql_fetch_row($wykonaj)) 
		{
	echo('<dd><A HREF="index.php?&fid='.$wiersz[1].'">'.$wiersz[0].'</A></dd>');
		}	
		echo '</dl>
					</div>';
	mysql_close($connection);
?>

Użytkownik Bellum edytował ten post 21 marzec 2010 - 16:00

0

#42 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 16:13

Ojojo :a:
WHERE t.forum_id IN (intval($_GET['fid']))

Zamień na:
WHERE t.forum_id IN (" . intval($_GET['fid']) . ")


Nie myślisz. :D :a:
intermedia - profesjonalne rozwiązania Invision Power Board
1

#43 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 16:25

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 16:13 napisał

Ojojo :a:
WHERE t.forum_id IN (intval($_GET['fid']))

Zamień na:
WHERE t.forum_id IN (" . intval($_GET['fid']) . ")


Nie myślisz. :a: :a:

hmm, racja, próbowałem właśnie przez ten czas wkładać to w różnego rodzaju nawiasy itp. by zadziałało (gdyż domyśliłem się, że błąd leży gdzieś w tych ustawieniach), raz zmieniało w centrali na numerki jakie klikałem w menu :P; ale nie wpadłbym na to; że można zastosować tu "." :a:; cóż teraz wiem i jestem bogatszy o tą wiedzę.

Super :D działa wyśmienicie.

0

#44 Użytkownik nie jest zalogowany   DawPi 

  • ...a wy Pragnienie™
  • Wyświetl blog
  • Wyświetl galerię
  • Grupa Administrator
  • Postów 25819
  • Rejestracja czw, 11 paź 07
  • Miejscowość Kraków
  • WersjaIP.Board 3.1.2

Napisano 21 marzec 2010 - 16:56

Wszystko jasne i temat wyczerpany? :D
intermedia - profesjonalne rozwiązania Invision Power Board
0

#45 Użytkownik nie jest zalogowany   Bellum 

  • Grupa Użytkownik
  • Postów 112
  • Rejestracja nie, 26 kwi 09
  • Miejscowość ta Pewność?
  • WersjaIP.Board 3.0.3

Napisano 21 marzec 2010 - 17:31

Wyświetl postUżytkownik DawPi dnia 21 marzec 2010 - 16:56 napisał

Wszystko jasne i temat wyczerpany? :D

Cóż, nie :a:

Chciałbym teraz, dodać parametr if, else by po wejściu na stronę wyświetliła się domyślnie strona startowa, zrobiłem tak:
	include"inc/mysql_access.php";
	
	//Wyświetlanie artów
	
	$mysql = "SELECT t.title, p.post FROM posts p JOIN topics t ON p.topic_id = t.tid WHERE t.forum_id IN (" . intval($_GET['fid']) . ") AND p.author_id IN (2)";
	$wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
		echo '<table>';
	while ($wiersz = mysql_fetch_row($wykonaj)) 
		{
		if ($fid > 0) 
		{
		print '<tr><td style="background: #1d3652; padding: 5px 5px 5px 5px; color: #fff; font-weight: bold;">'. parsebbcode($wiersz[0]) .'</td></tr>' . '<tr><td style="background: #e4ebf2; padding: 5px 5px 5px 5px;">'. parsebbcode($wiersz[1]) .'</td></tr>';
		print '</table>';
		}
			else 
			{
			include"page/kolory.php";
			}			
		
}
	mysql_close($connection);
?>
	</div>

Jeżeli $fid, jest większe od 0, to wyświetla odpowiednie artykuły. Chciałbym natomiast by jeżeli $fid nie został wybrany (czyli wszedłem sobie po prostu na moją stronę i nie klikałem w menu), to wyświetla includowaną stronę. Wiem, że chodzi o elseif jednak nie wiem jaki nadać mu parametr.
0

Udostępnij ten temat:


  • (4 stron)
  • +
  • 1
  • 2
  • 3
  • 4
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć


Podobne tematy Zwiń

  Temat Forum Autor Podsumowanie Ostatni post
Zamknięty ROZWIĄZANY: Szerokość Forum Rules Skiny - pomoc godfather 
  • 5 Odpowiedzi
  • 154 wyświetleń
Zamknięty ROZWIĄZANY: Błąd w regulaminie forum Propozycje, uwagi, opinie matma4u 
  • 2 Odpowiedzi
  • 110 wyświetleń
Nowe odpowiedzi Google maps na forum? Ogólny support IPB ojdas 
  • 1 Odpowiedź
  • 30 wyświetleń
Zamknięty [WYKONANE] Forum istnieje X dni
statystyki forum
Modyfikacje w produkcji necik 
  • 5 Odpowiedzi
  • 218 wyświetleń
Zamknięty [IPB] Forum komputerowe PcTower.pl Zaprezentuj się b4rt3k 
  • 5 Odpowiedzi
  • 274 wyświetleń

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych