Zmiana koloru tekstu co 2 linie


(Kloc221) #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) #2

Nie ma, ale możesz to łatwo zrobić w PHP. Albo męczyć się CSS/HTML


(Kloc221) #3

Jeśli tak może być php ale jak to zrobić ??


(Pavobe Reg) #4

Możesz użyć pseudoklasy CSS, aby odwołać się do N-tego dziecka danego elementu.

Kolorowanie np. co drugiej linii w akapicie (p) nie jest według mnie dobrym pomysłem.


(Kloc221) #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ć ??


(Anddezr+Dobreprogramy Pl) #6

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) #7

Nie łapie tego :frowning: 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]

(Anddezr+Dobreprogramy Pl) #8
for ( $row = 1; $row <= 25; $row++ )

{

  if ($row % 2 == 0){

    $class = 'czarny';

  } else {

    $class = 'bialy';

  }

  echo '';

}

(Kloc221) #9

Sorki ale jestem na tyle słaby z php że nie mam nawet pojęcia jak to połączyć z tym skryptem... :frowning:


(Magnevox) #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'] .']('.%20%24adres_forum%20.'/viewtopic.php?f='.%20%24row%5B'forum_id'%5D%20.'&t='.%20%24row%5B'topic_id'%5D%20.')';
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) #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]

(Magnevox) #12

Spróbuj drugą opcje.


(Kloc221) #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) #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) #15

Tak dzięki magnevox działa ale mam kolejny problem :frowning:

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]

(Magnevox) #16

Zmień ręcznie litery


(Kloc221) #17

To znaczy jak ? mam coś powpisywać żeby litery zamieniały się w znaki ??

Mam na przykład takie coś

± - ą

¶ - ś