powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод не четных id другим цветом
25 сообщений из 25, страница 1 из 1
Вывод не четных id другим цветом
    #38575748
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добро время суток.
Помогите мне пожалуйста.
Хочу сделать, что бы если id=2 то выводить другой class
например:
Елси id=2 и т.д. четное то выводить в div класс class='background'
А иначе выводить div class='background1'

Вот везде нашел на примере с таблицами , но мне такой способ не годится!

Помогите люди добрые
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38575761
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracleДобро время суток.
Помогите мне пожалуйста.
Хочу сделать, что бы если id=2 то выводить другой class
например:
Елси id=2 и т.д. четное то выводить в div класс class='background'
А иначе выводить div class='background1'
так?
Код: php
1.
echo '<div class="'.($id%2==0)?'background':'background1'.'">';
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38575769
4657
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD,

А еще лучше все энергопотребляющие телодвижения с четными/нечетными ячейками на стороне клиента выполнять.
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576029
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD,

не совсем.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$post1=mysql_query("SELECT * FROM data");
$post2=mysql_fetch_array ($post1);

 $res = mysql_query("SELECT COUNT(*) FROM data");
 $row = mysql_fetch_row($res);
 $total = $row[0]; // всего записей

$a=$total;
do {
if ($a%2)
{echo "<div class='background' id='{$post2['id']}'>не четное</div>";}
else
{echo "<div class='inverse-section' id='{$post2['id']}'>четное</div>";}
;}
while ($post2=mysql_fetch_array($post1));
?>


но все равно не работает :-(
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576059
2800
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
minioracleILLHEAD,

не совсем.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$post1=mysql_query("SELECT * FROM data");
$post2=mysql_fetch_array ($post1);

 $res = mysql_query("SELECT COUNT(*) FROM data");
 $row = mysql_fetch_row($res);
 $total = $row[0]; // всего записей

$a=$total;
do {
if ($a%2)
{echo "<div class='background' id='{$post2['id']}'>не четное</div>";}
else
{echo "<div class='inverse-section' id='{$post2['id']}'>четное</div>";}
;}
while ($post2=mysql_fetch_array($post1));
?>


но все равно не работает :-(
А должно?
Код: php
1.
2.
3.
$total = $row[0]; // всего записей
$a=$total; // всего записей
if ($a%2) // всего записей
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576061
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracle,

скобки хотела
Код: php
1.
2.
3.
4.
<?php
for ($id=1;$id<=10;$id++) {
	echo '<div style="color:'.(($id%2==0)?'red':'blue').'">1</div>';
}

_http://krsstroy.freeopti.ru/test-chet-nechet.php
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576064
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
do {
if ($post2['id']%2)
{echo "<div class='background' id='{$post2['id']}'>
<div class='container inner-background'>
<div class='col-md-6'>
<h1>{$post2['name']}</h1>

<hr />
<p class='lead'> {$post2['text']}
<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>

</div>
</div>
</div>";}

else{
echo "<div class='inverse-section' id='{$post2['id']}'>
<div class='container inner-background'>
<div class='col-md-6'>
<h1>{$post2['name']}</h1>

<hr />
<p class='lead'> {$post2['text']}
<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>

</div>
</div>
</div>";
;}
;}
вроде бы получилось, вот только тебе не могу покать, как сделать, что бы первую запись он пропускал, я ее отдельно вывести хочу, а потом пошел счет и делал как надо!
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576071
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracleкак сделать, что бы первую запись он пропускал, я ее отдельно вывести хочу, а потом пошел счет и делал как надо!попробуйте до DO-WHILE сделать $first_post_id=mysql_fetch_array($post2)
далее - DO-WHILE , и уже где/когда надо раскурочите :) $first_post_id
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576101
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря, чё то не чего не понял!
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576132
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracleЧестно говоря, чё то не чего не понял!ошибся. сорри
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576143
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?
$post1 = mysql_query("SELECT * FROM data");
$post2_1 = mysql_fetch_array ($post1); // первая запись, которую потом выводите "по другому"

while ($post2=mysql_fetch_array($post1)) {
 echo "<div class='".(($post2['id']%2==0)?'inverse-section':'background')."' id='".$post2['id']."'>".$post2['id']."</div>";
}

// тут, или в другом месте, выводите $post2_1
?>

имел ввиду что перед циклом сохранить отдельно первую запись, которую где надо вывести
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576157
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD,

Большое спасибо, выручили

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
$post1=mysql_query("SELECT * FROM data");
$post2_1=mysql_fetch_array($post1);
$post2=mysql_fetch_array ($post1);

echo "<div class='background' id='".$post2_1['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2_1['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2_1['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";

#while ($post2=mysql_fetch_array($post1))
#$i=$post2['id'];
#$first_post_id=mysql_fetch_array($post2);
 #$res = mysql_query("SELECT COUNT(*) FROM data");
 #$row = mysql_fetch_row($res);
 #$total = $row[0]; // всего записей
#echo $total;
#$a=$total;

do {
echo "<div class='".(($post2['id']%2==0)?'inverse-section':'inter')."' id='".$post2['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
while ($post2=mysql_fetch_array($post1));
?>


Теперь все работает так как хотелось!
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576178
5797
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
minioracleILLHEAD,

Большое спасибо, выручили

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
$post1=mysql_query("SELECT * FROM data");
$post2_1=mysql_fetch_array($post1);
$post2=mysql_fetch_array ($post1);

echo "<div class='background' id='".$post2_1['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2_1['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2_1['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";

#while ($post2=mysql_fetch_array($post1))
#$i=$post2['id'];
#$first_post_id=mysql_fetch_array($post2);
 #$res = mysql_query("SELECT COUNT(*) FROM data");
 #$row = mysql_fetch_row($res);
 #$total = $row[0]; // всего записей
#echo $total;
#$a=$total;

do {
echo "<div class='".(($post2['id']%2==0)?'inverse-section':'inter')."' id='".$post2['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
while ($post2=mysql_fetch_array($post1));
?>


Теперь все работает так как хотелось!
Работать "правильно" будет до тех пор, пока не удалят пару записей из таблицы.
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576179
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5797,
блин, чё то я об этом не подумал :-(
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576180
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD,

Наверное я остановлюсь на варианте
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<?PHP

$post1=mysql_query("SELECT * FROM data");
$post2_1=mysql_fetch_array($post1);
$post2=mysql_fetch_array ($post1);

echo "<div class='background' id='".$post2_1['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2_1['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2_1['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";

do {
if ($post2['id']%2)
{echo "<div class='inter' id='{$post2['id']}'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
else
{echo "<div class='inverse-section' id='{$post2['id']}'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
;}
while ($post2=mysql_fetch_array($post1));
?>
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576182
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracle,

а что последний (ваш) вариант меняет?

надо сделать в запросе СВОЮ нумерацию и ее "модулить" )

если не знаете как сделать - подскажу
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576185
7901
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
minioracleвроде бы получилось, вот только тебе не могу покать, как сделать, что бы первую запись он пропускал, я ее отдельно вывести хочу, а потом пошел счет и делал как надо !
Ну так выводите первую запись как надо, а затем заведите счетчик инкрементируя его после вывода каждой записи.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
echo "<div class='background' id='".$post2_1['id']."'>
...
$counter = 0;
do
{
   if ($counter%2 == 0) {...}
   else {...}
   ...
   $counter++;
}
...
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38576210
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracleILLHEAD,

Наверное я остановлюсь на варианте
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<?PHP

$post1=mysql_query("SELECT * FROM data");
$post2_1=mysql_fetch_array($post1);
$post2=mysql_fetch_array ($post1);

echo "<div class='background' id='".$post2_1['id']."'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2_1['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2_1['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";

do {
if ($post2['id']%2)
{echo "<div class='inter' id='{$post2['id']}'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
else
{echo "<div class='inverse-section' id='{$post2['id']}'>
	<div class='container inner-background'>
		<div class='col-md-6'>
			<h1>{$post2['name']}</h1>
			
			<hr />
			<p class='lead'> {$post2['text']}
			<a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
			
		</div>
	</div>
</div>";}
;}
while ($post2=mysql_fetch_array($post1));
?>



Везёт Вам с работодателем )) Если бы я так писал, меня давно бы уволили уже (хотя уж не знаю везёт ли... раз не заставляют развиваться)

По-нормальному этот код будет выглядеть так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?php
$posts=mysql_query("SELECT * FROM data");
$rows_num = mysql_num_rows($posts);
for($i=0; $i<$rows_num; $i++){
  $post = mysql_fetch_array($posts);
  ?>
  <div class='<?= ($i==0) ? 'background' : ($i%2==0 ? 'inter' : 'inverse-section' ) ?>' id='<?=$post['id']?>'>
    <div class='container inner-background'>
      <div class='col-md-6'>
        <h1><?=$post['name']?></h1>
        
        <hr />
        <p class='lead'> <?=$post['text']?>
        <a href='#' class='btn btn-white'><i class='fa fa-arrow-circle-o-right'></i>Подробнее</a>
        
      </div>
    </div>
  </div>
  <?php
}
?>



Это выводит строки через одну с требуемым стилем, при этом для первой строки (нулевой, если быть точнее) будет выведен свой, особой, стиль.
А зачем три раза дублировать тот же код и получать результат запроса в трёх местах - это мне вообще не понятно ) Если Ваш проект в таком виде достанется кому-то в наследство... Вам лучше стереть все свои контакты ))

P.S. Код не проверял. Возможны неточности и мелкие ошибки.. Но думаю суть понятна. И кстати... советую, если дело в выводе других стилей для элементов с номерами заданными линейной функцией, посмотреть в сторону css. На псевдоклассы (в частности nth-child).
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38577054
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр,

Да я вообще то подумывал, что в каждой из трех будет везде разный class
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38577075
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracle,

вариант без счетчика в пхп-скрипте
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?
$post1 = mysql_query("SELECT t1.*, (SELECT SUM(1) FROM data AS t2 WHERE t2.id<=t1.id) AS recnum FROM data AS t1");
$post2_1 = mysql_fetch_array ($post1); // первая запись, которую потом выводите "по другому"

while ($post2=mysql_fetch_array($post1)) {
 echo "<div class='".(($post2['recnum']%2==0)?'inverse-section':'background')."' id='".$post2['id']."'>".$post2['id']."</div>";
}

// тут, или в другом месте, выводите $post2_1
?>
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38577077
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы: поправочка. надо отсортировать:
Код: sql
1.
SELECT t1.*, (SELECT SUM(1) FROM data AS t2 WHERE t2.id<=t1.id) AS recnum FROM data AS t1 ORDER BY id
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38577259
4161
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
minioracleПрограмёр,

Да я вообще то подумывал, что в каждой из трех будет везде разный class
Херня какая-то! Вы для начала определитесь, что надо, а потом вопросы правильно задавайте.
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38618267
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ILLHEAD,

А если попробовать выводить с 3 записи?
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38618280
minioracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
minioracle,

Все разобрался, спасибо БОЛЬШОЕ!
...
Рейтинг: 0 / 0
Вывод не четных id другим цветом
    #38618492
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
minioracle,

если касается только стилевого оформления, то мне кажется проще было через css
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<style>
.css-style-with-color:nth-child(3n+2){background-color:red;}
.css-style-with-color:nth-child(3n+1){background-color:blue;}
.css-style-with-color:nth-child(3n){background-color:yellow;}
</style>
<div class="css-style-with-color">1</div>
<div class="css-style-with-color">2</div>
<div class="css-style-with-color">3</div>
<div class="css-style-with-color">4</div>
<div class="css-style-with-color">5</div>
<div class="css-style-with-color">6</div>
<div class="css-style-with-color">7</div>
<div class="css-style-with-color">8</div>
<div class="css-style-with-color">9</div>
<div class="css-style-with-color">10</div>
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод не четных id другим цветом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]