kloc221
(Kloc221)
31 Maj 2010 16:02
#1
Witam
Chciał bym spytać czy jest taka możliwość aby określony tekst zaznaczyć jakimś znacznikiem tak aby co druga linia zmieniała kolor… ? Jeśli ktoś nie zrozumiał chodzi mi o to :
[jakiś znacznik]
tekst
tekst
tekst
tekst
tekst
teskt
tekst
[/jakiś znacznik]
magnevox
(Magnevox)
31 Maj 2010 17:00
#2
Nie ma, ale możesz to łatwo zrobić w PHP. Albo męczyć się CSS/HTML
kloc221
(Kloc221)
31 Maj 2010 17:24
#3
Jeśli tak może być php ale jak to zrobić ??
pavobe
(Pavobe Reg)
31 Maj 2010 17:33
#4
Możesz użyć pseudoklasy CSS, aby odwołać się do N-tego dziecka danego elementu.
https://developer.mozilla.org/en/CSS/%3Anth-child
Kolorowanie np. co drugiej linii w akapicie § nie jest według mnie dobrym pomysłem.
kloc221
(Kloc221)
31 Maj 2010 17:38
#5
Przedstawię cały mój problem na moją stronę internetową wczytuję pasek zwany “ostatnio na forum”
Ja go wczytuję więc nie mam żadnego wpływu na kod mogę jedynie odgórnie zmieć całość biorąc kod wczytujący plik w jakieś znaczniki.
Pasek znajduje się z lewej strony pod menu : www.gametronik.pl
Chciałem aby co druga linia miała inny kolor linka ale nie wiem jak to zrobić ??
No to jak wyciagasz z bazy to masz ile wynikow, następnie php for(0 do ile) + if, if’em sprawdzasz np czy $i%2 i dajesz inny kolor (css)
kloc221
(Kloc221)
31 Maj 2010 17:53
#7
Nie łapie tego dlatego właśnie próbowałem to zrobić w inny dość dziwny sposób…
cały skrypt jest dość krótki może mi ktoś pomoże to przerobić…
<?php
// USTAWIENIA
// (t) ilo¶ć wy¶wietlanych tematów
$default_tps_number = 10;
// (w) długo¶ć tytułów
$default_tps_title_width = 50;
// (s) miejsce, w jakim zostanie otwarty temat; topic - pocz±tek tematu, post - ostatni post
$default_tps_show = 'post';
// (p) miejsce wy¶wietlania tematu
$default_tps_display_place = '_blank';
// (a) pokazuje liczbe odpowiedzi; 1 - tak, 0 - nie
$default_show_answers = 0;
// (u) pokazuje autora postu; 2 - ostatniego, 1 - pierwszego, 0 - nie pokazuje autora
$default_show_posters = 0;
// (f) pokazuje nazwę forum, w którym znajduję się temat; 1 - tak, 0 - nie
$default_show_forumname = 0;
$adres_forum = 'http://www.forum.gametronik.pl';
// adres forum bez końcowego "/", z "http://" na pocz±tku
// KONIEC USTAWIEN
if($_GET['t']) { $t = $_GET['t']; } else { $t = $default_tps_number; }
if($_GET['w']) { $w = $_GET['w']; } else { $w = $default_tps_title_width; }
if($_GET['s']) { $s = $_GET['s']; } else { $s = $default_tps_show; }
if($_GET['p']) { $p = $_GET['p']; } else { $p = $default_tps_display_place; }
if($_GET['a']) { $a = $_GET['a']; } else { $a = $default_show_answers; }
if($_GET['u']) { $u = $_GET['u']; } else { $u = $default_show_posters; }
if($_GET['f']) { $f = $_GET['f']; } else { $f = $default_show_forumname; }
include 'config.php';
if(!$db = mysql_connect($dbhost, $dbuser, $dbpasswd)) {
echo 'Bł±d!
Nie można poł±czyć się z baz±!';
}
if(!mysql_select_db($dbname, $db)) {
echo 'Bł±d!
Nie można wybrać bazy danych!';
}
mysql_query("set names utf8");
$result = mysql_query("SELECT * FROM `". $table_prefix ."topics` WHERE forum_id ORDER BY `topic_last_post_id` DESC LIMIT 0 , ". $t);
while($row = mysql_fetch_array($result))
{
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
$out_forum = '['. $row['forum_name'] .'] ';
}
if( $a ) {
$out_answers = ' ';
}
if( $u ) {
switch($u) {
case 2:
$poster[0] = $row['topic_last_poster_id'];
$poster[1] = $row['topic_last_poster_name'];
break;
case 1:
$poster[0] = $row['topic_poster'];
$poster[1] = $row['topic_first_poster_name'];
break;
}
$out_poster = ' ['. $poster[1] .']';
}
if(strlen($row['topic_title']) > $w) { $row['topic_title'] = substr($row['topic_title'], 0, $w); }
$output .= $out_forum . $out_title . $out_answers . $out_poster .'
';
}
echo $output;
mysql_close($db);
?>[/code]
for ( $row = 1; $row <= 25; $row++ )
{
if ($row % 2 == 0){
$class = 'czarny';
} else {
$class = 'bialy';
}
echo '';
}
kloc221
(Kloc221)
31 Maj 2010 18:09
#9
Sorki ale jestem na tyle słaby z php że nie mam nawet pojęcia jak to połączyć z tym skryptem…
magnevox
(Magnevox)
31 Maj 2010 18:39
#10
Np. takie coś:
while($row = mysql_fetch_array($result))
{
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
if ($row % 2 == 0){
$class = '#000';
} else {
$class = '#FFF';
}
$out_forum = '['. $row['forum_name'] .'] ';
}[/code]
PS. To jak Ty tą strone napisałeś :D
-- [b]Dodane 31.05.2010 (Pn) 20:44[/b] --
Albo przed ty to powino być:
[code]$out_title = ‘’. $row[‘topic_title’] .’ ’;
Czyli:
while($row = mysql_fetch_array($result))
{
if ($row % 2 == 0){
$class = '#000;';
} else {
$class = '#FFF;';
}
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
$out_forum = '['. $row['forum_name'] .'] ';
}[/code]
kloc221
(Kloc221)
31 Maj 2010 18:49
#11
Chyba coś źle jest bo połączyłem to i nie działa…
<?php
// USTAWIENIA
// (t) ilo¶ć wy¶wietlanych tematów
$default_tps_number = 10;
// (w) długo¶ć tytułów
$default_tps_title_width = 50;
// (s) miejsce, w jakim zostanie otwarty temat; topic - pocz±tek tematu, post - ostatni post
$default_tps_show = 'post';
// (p) miejsce wy¶wietlania tematu
$default_tps_display_place = '_blank';
// (a) pokazuje liczbe odpowiedzi; 1 - tak, 0 - nie
$default_show_answers = 0;
// (u) pokazuje autora postu; 2 - ostatniego, 1 - pierwszego, 0 - nie pokazuje autora
$default_show_posters = 0;
// (f) pokazuje nazwę forum, w którym znajduję się temat; 1 - tak, 0 - nie
$default_show_forumname = 0;
$adres_forum = 'http://www.forum.gametronik.pl';
// adres forum bez końcowego "/", z "http://" na pocz±tku
// KONIEC USTAWIEN
if($_GET['t']) { $t = $_GET['t']; } else { $t = $default_tps_number; }
if($_GET['w']) { $w = $_GET['w']; } else { $w = $default_tps_title_width; }
if($_GET['s']) { $s = $_GET['s']; } else { $s = $default_tps_show; }
if($_GET['p']) { $p = $_GET['p']; } else { $p = $default_tps_display_place; }
if($_GET['a']) { $a = $_GET['a']; } else { $a = $default_show_answers; }
if($_GET['u']) { $u = $_GET['u']; } else { $u = $default_show_posters; }
if($_GET['f']) { $f = $_GET['f']; } else { $f = $default_show_forumname; }
include 'config.php';
if(!$db = mysql_connect($dbhost, $dbuser, $dbpasswd)) {
echo 'Bł±d!
Nie można poł±czyć się z baz±!';
}
if(!mysql_select_db($dbname, $db)) {
echo 'Bł±d!
Nie można wybrać bazy danych!';
}
mysql_query("set names utf8");
$result = mysql_query("SELECT * FROM `". $table_prefix ."topics` WHERE forum_id ORDER BY `topic_last_post_id` DESC LIMIT 0 , ". $t);
while($row = mysql_fetch_array($result))
{
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
if ($row % 2 == 0){
$class = 'red';
} else {
$class = 'blue';
}
$out_forum = '['. $row['forum_name'] .'] ';
}
if( $a ) {
$out_answers = ' ';
}
if( $u ) {
switch($u) {
case 2:
$poster[0] = $row['topic_last_poster_id'];
$poster[1] = $row['topic_last_poster_name'];
break;
case 1:
$poster[0] = $row['topic_poster'];
$poster[1] = $row['topic_first_poster_name'];
break;
}
$out_poster = ' ['. $poster[1] .']';
}
if(strlen($row['topic_title']) > $w) { $row['topic_title'] = substr($row['topic_title'], 0, $w); }
$output .= $out_forum . $out_title . $out_answers . $out_poster .'
';
}
echo $output;
mysql_close($db);
?>[/code]
kloc221
(Kloc221)
31 Maj 2010 19:01
#13
Spróbowałem i dalej nic tekst zmienia kolor ale cały, a ja chce aby zmieniła kolor co druga linia…
Wyszło mi coś takiego:
<?php
// USTAWIENIA
// (t) ilo¶ć wy¶wietlanych tematów
$default_tps_number = 10;
// (w) długo¶ć tytułów
$default_tps_title_width = 50;
// (s) miejsce, w jakim zostanie otwarty temat; topic - pocz±tek tematu, post - ostatni post
$default_tps_show = 'post';
// (p) miejsce wy¶wietlania tematu
$default_tps_display_place = '_blank';
// (a) pokazuje liczbe odpowiedzi; 1 - tak, 0 - nie
$default_show_answers = 0;
// (u) pokazuje autora postu; 2 - ostatniego, 1 - pierwszego, 0 - nie pokazuje autora
$default_show_posters = 0;
// (f) pokazuje nazwę forum, w którym znajduję się temat; 1 - tak, 0 - nie
$default_show_forumname = 0;
$adres_forum = 'http://www.forum.gametronik.pl';
// adres forum bez końcowego "/", z "http://" na pocz±tku
// KONIEC USTAWIEN
if($_GET['t']) { $t = $_GET['t']; } else { $t = $default_tps_number; }
if($_GET['w']) { $w = $_GET['w']; } else { $w = $default_tps_title_width; }
if($_GET['s']) { $s = $_GET['s']; } else { $s = $default_tps_show; }
if($_GET['p']) { $p = $_GET['p']; } else { $p = $default_tps_display_place; }
if($_GET['a']) { $a = $_GET['a']; } else { $a = $default_show_answers; }
if($_GET['u']) { $u = $_GET['u']; } else { $u = $default_show_posters; }
if($_GET['f']) { $f = $_GET['f']; } else { $f = $default_show_forumname; }
include 'config.php';
if(!$db = mysql_connect($dbhost, $dbuser, $dbpasswd)) {
echo 'Bł±d!
Nie można poł±czyć się z baz±!';
}
if(!mysql_select_db($dbname, $db)) {
echo 'Bł±d!
Nie można wybrać bazy danych!';
}
mysql_query("set names utf8");
$result = mysql_query("SELECT * FROM `". $table_prefix ."topics` WHERE forum_id ORDER BY `topic_last_post_id` DESC LIMIT 0 , ". $t);
while($row = mysql_fetch_array($result))
{
if ($row % 2 == 0){
$class = '#000;';
} else {
$class = '#FFF;';
}
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
$out_forum = '['. $row['forum_name'] .'] ';
}
if( $a ) {
$out_answers = ' ';
}
if( $u ) {
switch($u) {
case 2:
$poster[0] = $row['topic_last_poster_id'];
$poster[1] = $row['topic_last_poster_name'];
break;
case 1:
$poster[0] = $row['topic_poster'];
$poster[1] = $row['topic_first_poster_name'];
break;
}
$out_poster = ' ['. $poster[1] .']';
}
if(strlen($row['topic_title']) > $w) { $row['topic_title'] = substr($row['topic_title'], 0, $w); }
$output .= $out_forum . $out_title . $out_answers . $out_poster .'
';
}
echo $output;
mysql_close($db);
?>[/code]
magnevox
(Magnevox)
31 Maj 2010 19:07
#14
Teraz musi działać.
$licz = 0;
while($row = mysql_fetch_array($result))
{
$licz++;
if ($licz % 2 == 0) {
Dopisz to gdzie trzeba (mam nadzieje że wiesz).
kloc221
(Kloc221)
1 Czerwiec 2010 10:36
#15
Tak dzięki magnevox działa ale mam kolejny problem
Cały skrypt chodzi na kodowaniu utf-8 a moja strona na iso-8859-2 - nie mogę zmienić kodowania strony a kiedy zmieniam kodowanie skryptu to mam w nim krzaczki zamiast polskich liter…
Jak przerobić skrypt aby korzystał z kodowania iso-8859-2 ??
Oto to co złożyłem do tej pory…
<?php
// USTAWIENIA
// (t) ilo¶ć wy¶wietlanych tematów
$default_tps_number = 10;
// (w) długo¶ć tytułów
$default_tps_title_width = 50;
// (s) miejsce, w jakim zostanie otwarty temat; topic - pocz±tek tematu, post - ostatni post
$default_tps_show = 'post';
// (p) miejsce wy¶wietlania tematu
$default_tps_display_place = '_blank';
// (a) pokazuje liczbe odpowiedzi; 1 - tak, 0 - nie
$default_show_answers = 0;
// (u) pokazuje autora postu; 2 - ostatniego, 1 - pierwszego, 0 - nie pokazuje autora
$default_show_posters = 0;
// (f) pokazuje nazwę forum, w którym znajduję się temat; 1 - tak, 0 - nie
$default_show_forumname = 0;
$adres_forum = 'http://www.forum.gametronik.pl';
// adres forum bez końcowego "/", z "http://" na pocz±tku
// KONIEC USTAWIEN
if($_GET['t']) { $t = $_GET['t']; } else { $t = $default_tps_number; }
if($_GET['w']) { $w = $_GET['w']; } else { $w = $default_tps_title_width; }
if($_GET['s']) { $s = $_GET['s']; } else { $s = $default_tps_show; }
if($_GET['p']) { $p = $_GET['p']; } else { $p = $default_tps_display_place; }
if($_GET['a']) { $a = $_GET['a']; } else { $a = $default_show_answers; }
if($_GET['u']) { $u = $_GET['u']; } else { $u = $default_show_posters; }
if($_GET['f']) { $f = $_GET['f']; } else { $f = $default_show_forumname; }
include 'config.php';
if(!$db = mysql_connect($dbhost, $dbuser, $dbpasswd)) {
echo 'Bł±d!
Nie można poł±czyć się z baz±!';
}
if(!mysql_select_db($dbname, $db)) {
echo 'Bł±d!
Nie można wybrać bazy danych!';
}
mysql_query("set names charset=iso-8859-2");
$result = mysql_query("SELECT * FROM `". $table_prefix ."topics` WHERE forum_id ORDER BY `topic_last_post_id` DESC LIMIT 0 , ". $t);
$licz = 0;
while($row = mysql_fetch_array($result))
{
$licz++;
if ($licz % 2 == 0) {
$class = '#000;';
} else {
$class = '#FFF;';
}
$out_title = ''. $row['topic_title'] .'';
if( $f ) {
$result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");
$row['forum_name'] = mysql_result($result_forum, 0);
$out_forum = '['. $row['forum_name'] .'] ';
}
if( $a ) {
$out_answers = ' ';
}
if( $u ) {
switch($u) {
case 2:
$poster[0] = $row['topic_last_poster_id'];
$poster[1] = $row['topic_last_poster_name'];
break;
case 1:
$poster[0] = $row['topic_poster'];
$poster[1] = $row['topic_first_poster_name'];
break;
}
$out_poster = ' ['. $poster[1] .']';
}
if(strlen($row['topic_title']) > $w) { $row['topic_title'] = substr($row['topic_title'], 0, $w); }
$output .= $out_forum . $out_title . $out_answers . $out_poster .'
';
}
echo $output;
mysql_close($db);
?>
[/code]
kloc221
(Kloc221)
1 Czerwiec 2010 16:14
#17
To znaczy jak ? mam coś powpisywać żeby litery zamieniały się w znaki ??
Mam na przykład takie coś
± - ą
¶ - ś