2013-06-09 3 views
-1

Я хочу дать новый контакт с моим сайтом с помощью CSS, но я не знаю, как использовать разные стили CSS в нескольких результатах SQL. Позвольте мне объяснить это из примера ....Использование CSS в SQL Multi Records

Пусть

$sql = "SELECT id, text FROM tgrp437 WHERE active='1' and uid='".$ud."' LIMIT 20"; 

$items = mysql_query($sql); 

echo mysql_error(); 

if(@mysql_num_rows($items)>0) 

{ 

while ($item = mysql_fetch_array($items)) 

{ 
$gold=$item[1] 

}} 

Так что я хочу, чтобы отобразить

все 20 строк в различные цвета или CSS тегов:

echo '1-<font color="red">'.$gold.'</font>'; 

echo '2-<font color="green">'.$gold.'</font>'; 

echo '3-<font color="blue">'.$gold.'</font>'; 

echo '4-<font color="purple">'.$gold.'</font>'; 

Как это мне нравится?

Пожалуйста, помогите мне!

Спасибо!

+1

Вы можете применить одинаковый цвет для четного и другого цвета для нечетных строк. – PSR

ответ

1

Прежде всего, старайтесь избегать использования устаревших функций. Функции mysql_* теперь устарели и скоро исчезнут из более новых версий PHP. Вместо этого вы должны изучить MySQLi или PDO и подготовленные операторы.

Кроме того, вместо тега font было бы лучше использовать span и определить классы для цветов, которые вы хотите использовать. Вы можете легко обновить свой код, чтобы использовать эту функцию следующим образом:

$sql = "SELECT id, text FROM tgrp437 WHERE active='1' and uid='".$ud."' LIMIT 20"; 
$items = mysql_query($sql); 
$colors = array('red', 'green', 'etc...'); 
$i = 0; 
while ($item = mysql_fetch_array($items)) 
{ 
    echo '<span class="'.$colors[$i].'">'.$item[1].'</span>'; 
    $i++; 
} 

Как вы можете видеть, вы создаете массив, содержащий многочисленные классы, которые вы хотите использовать. Длина массива должна совпадать с количеством записей, которые вы возвращающимся, или вы можете просто присвоить цвет случайным образом из указанного списка следующим образом:

$sql = "SELECT id, text FROM tgrp437 WHERE active='1' and uid='".$ud."' LIMIT 20"; 
$items = mysql_query($sql); 
$colors = array('red', 'green', 'etc...'); 
$max_color = count($colors) - 1; 
while ($item = mysql_fetch_array($items)) 
{ 
    echo '<span class="'.$colors[rand(0, $max_color)].'">'.$item[1].'</span>'; 
} 

Вы можете определить свои классы CSS следующим образом :

span.red { color: red; } 
span.green { color: green; } 

И так далее.

+0

Спасибо вам большое! Я сделал это. Но предположим, если я хочу установить только 2 цвета на случайной основе, то как бы я мог это сделать? – sameer007860

+0

Просто укажите два цвета в массиве '$ color' второго примера. – BenM

0

Попробуйте использовать HSV цветовую модель. Вам просто нужно написать некоторую функцию, которая будет возвращать diffirent оттенок, в зависимости от номера строки, и принимать постоянную насыщенность и значение. Затем преобразуйте его в RGB.

Таким образом, вы можете создавать серии разных цветов.