Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: for для сообщений разным цветом
 
 автор: ipic   (12.02.2008 в 14:33)   письмо автору
 
 

При выводе из базы данных хотелось бы раскрашивать через одно сообщение двумя разными цветами

{ // цикл while 

for($i=0;$i<КАКОЕ УСЛОВИЕ???;$i++) { 
                          if($i%2 == 0) { $upp = $up; $downn = $down; } // первое сообщение будет такого цвета, какой заложен в переменные $up и $down
                          else { $upp = $up1; $downn = $down1; } // второе сообщение будет такого цвета, какой заложен в переменные $up1 и $down1
// третье сообщение будет такого цвета, какой заложен в переменные $up и $down
echo $upp."сообщение".$downn ; //  вывод сообщения в цикле while

}

} // цикл while


Вопрос один - от чего отталкиваться, записывая условия в цикл for ?
Что-то запутался я...

   
 
 автор: bronenos   (12.02.2008 в 14:47)   письмо автору
 
   для: ipic   (12.02.2008 в 14:33)
 

Например, кол-ва записей в БД

   
 
 автор: ipic   (12.02.2008 в 15:34)   письмо автору
 
   для: bronenos   (12.02.2008 в 14:47)
 

for($i=0;$i<count($posts);$i++) 
// где $posts  = mysql_num_rows($cvo);
//  где $cvo = mysql_query("SELECT ....запрос вывода


Вы это имели в виду? не помогает :(
Как это делаете Вы, можно посмотреть? Спасибо!

   
 
 автор: olejek   (12.02.2008 в 15:50)   письмо автору
 
   для: ipic   (12.02.2008 в 15:34)
 

mysql_num_rows - Возвращает количество рядов результата запроса
count - Возвращает количество элементов массива
Тогда как может такое работать?!
count(mysql_num_rows($cvo))

   
 
 автор: Freddie_X   (12.02.2008 в 15:53)   письмо автору
 
   для: olejek   (12.02.2008 в 15:50)
 

count здесь не нужен.
mysql_num_rows() возвращает числовое значение.

   
 
 автор: ipic   (12.02.2008 в 16:04)   письмо автору
 
   для: Freddie_X   (12.02.2008 в 15:53)
 

Вы правы, сорри 8)
Подставил
for($i=0;$i<$posts;$i++)

$posts в моем случае равно 12

Что получилось? Получился вывод:
Сообщение 1 - цвет 1
Сообщение 1- цвет 2
Сообщение 1 - цвет 1
Сообщение 1- цвет 2
Сообщение 1 - цвет 1
Сообщение 1- цвет 2
Сообщение 1 - цвет 1
Сообщение 1- цвет 2
Сообщение 1 - цвет 1
Сообщение 1- цвет 2
Сообщение 1 - цвет 1
Сообщение 1- цвет 2

Затем то же самое с Сообщением 2.
___________
итого по 12 повторов со сменой цвета через одно сообщение всех 12 сообщений, выбранных из базы

Что-т тут не то...0_0

   
 
 автор: Freddie_X   (12.02.2008 в 16:16)   письмо автору
 
   для: ipic   (12.02.2008 в 16:04)
 

Тогда внутри цикла while не нужно писать цикл for, а только то, что внутри него.

   
 
 автор: ipic   (12.02.2008 в 16:35)   письмо автору
 
   для: Freddie_X   (12.02.2008 в 16:16)
 

Тогда как объявить $i-тое ?

   
 
 автор: Гость1   (12.02.2008 в 16:25)
 
   для: ipic   (12.02.2008 в 14:33)
 

Зачем себе так усложнять жизнь?

есть какой-то цикл:

<?
while (true)
{
//в цикле - вывод сообщения
echo "<font color=";
echp "остаток собщения, </font>"

//условие цередующее цвет
if ($color=='red')
{
$color=black;
}
else
{
$color=='red'
}

   
 
 автор: Гость1   (12.02.2008 в 16:25)
 
   для: Гость1   (12.02.2008 в 16:25)
 

Извеняюсь за кучу слешей - их изначально небыло, но пока я подбирал пароль и так его не подобрал)))

   
 
 автор: ipic   (12.02.2008 в 16:31)   письмо автору
 
   для: Гость1   (12.02.2008 в 16:25)
 

То-есть, если цвет красный, то он черный, а если не черный - то красный?)
То ли вы жжоте, то ли я туплю))) Но улыбнуло)))

   
 
 автор: olejek   (12.02.2008 в 16:43)   письмо автору
 
   для: ipic   (12.02.2008 в 16:31)
 

Нет, он не "жжот", так и надо делать. Я это делаю приблизительно так:

<?
while ($row=mysql_fetch_array($query))
{
$color=='red' $color='blue' $color='red';
echo 
"<tr><td color=$color>".$row[0]."</td></tr>";    //начинает с red
}
?>

   
 
 автор: ipic   (12.02.2008 в 16:52)   письмо автору
 
   для: olejek   (12.02.2008 в 16:43)
 

Мой случай по Вашему примеру:


while ( )
{
$upp == $up  ? $upp = $up1 : $upp = $up;
$downn == $down  ? $downn = $down1 : $downn = $down;
echo " // вывод задавал в первом сообщении темы
}


Спасибо! то что нужно ))

   
 
 автор: Freddie_X   (12.02.2008 в 16:43)   письмо автору
 
   для: ipic   (12.02.2008 в 16:31)
 

<?php
$i
=1;
while(
$posts=mysql_fetch_array($query))
{
    if(
/*i - нечётное число (делится на 2 с остатком)*/$color="color1";
    else 
$color="color2";
    
// вывод содержимого. $color прикрутите, куда вам нужно.
    
$i++;
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования