Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Организовать табличку.
Форумы портала PHP.SU » » Вопросы новичков » Организовать табличку.

Страниц (1): [1]
 

1. SofiaKit - 28 Июля, 2011 - 15:21:29 - перейти к сообщению
А подскажите пожалуйста, смотрите, есть цикл:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $result = mysql_query("SELECT login,id FROM users ORDER BY login") or die(mysql_error());  
  4. while($row = mysql_fetch_array( $result )) {
  5.         echo "<a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a><br>";
  6. }
  7. ?>
  8.  

Выводит к примеру 5 строк, можно ли чтоб эти строки черезовались цветами? ну к примеру серый и зеленый. Я табличку если делаю, у меня все одним цветом.
2. EuGen - 28 Июля, 2011 - 15:32:38 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT login,id FROM users ORDER BY login") or die(mysql_error());
  3. echo("<table>");
  4. $i=0;
  5. while($row = mysql_fetch_array( $result )) {
  6.         echo("<tr style=\"background: ".($i%2?'#CCCCCC':'#00CC00')."\">");
  7.         echo("<td>");
  8.         echo "<a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a><br>";
  9.         echo("</td>");
  10.         echo("</tr>");
  11.         $i++;
  12. }
  13. echo("</table>");
  14.  

Не уверен, правда, что верно вспомнил название свойства стиля css
3. illy - 28 Июля, 2011 - 15:38:13 - перейти к сообщению
<?
$nn=1;
$result = mysql_query("SELECT login,id FROM users ORDER BY login") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
if($nn==1){
echo "<span style='bgcolor:#999999'><a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a></span><br>";
}
if($n==2){
echo "<span style='bgcolor:#009000'><a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a></span><br>";
$nn=0;
}
$nn++;
}
?>
4. SofiaKit - 28 Июля, 2011 - 16:35:03 - перейти к сообщению
EuGen СПАСИБО ОГРОМЕННОЕ, то что надо Цветок
5. iflight - 28 Июля, 2011 - 16:50:29 - перейти к сообщению
Имхо такое оформление лучше переложить на сторону клиента - JS(JQuery это с легкостью делает, да и другие библиотеки тоже), CSS3(жаль далеко не все браузеры его поддерживают), если порыться и гугле по запросу типа "зебра css" можно и более поддерживаемые решения на css найти, использующие особенности популярных браузерных движков.
6. SofiaKit - 28 Июля, 2011 - 17:04:06 - перейти к сообщению
iflight согласна, на моей странице браузер IE закругленные углы не понимает, так все не красиво получается, поэтому вынуждена сперва делать проверку на браузер, если не Chrome, то сайт перенаправляет на страничку с объяснениями и ссылкой установить себе Chrome Хм .

Вот смотри мой css:
CODE (css):
скопировать код в буфер обмена
  1.  
  2. .table1 {
  3. border:1px solid #999;
  4. float:left;
  5. -moz-border-radius: 6px;
  6. -webkit-border-radius: 6px;
  7. }
  8.  


Вроде все просто, а IE не понимает Хм . На счет JQuery даже не спрашивай, я боюсь этого слова, не говоря о том чтоб с ним разбираться... я тут пока на Ajax разбираюсь, ито, вопросов куча, а задать некому, аж стыдно тут на форуме по каждому вопросу тему создавать.


EuGen а можно еще сделать разноцветные $row[login] в зависимости от статуса пользователя, а именно.

таблица users:
id | login | password | users_status
1 Sofia gfhjkm admin
2 User 111 user
3 User2 111 user
4 User3 111 mod

Вот чтоб со статусом admin текст был красным, со статусом mod зеленым остальные обычный стандартный цвет... Задачка не из легких. согласна.
7. EuGen - 28 Июля, 2011 - 17:17:17 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT login,id,users_status FROM users ORDER BY login") or die(mysql_error());
  3. echo("<table>");
  4. $i=0;
  5. while($row = mysql_fetch_array( $result ))
  6. {
  7.         $color='#000000';
  8.         switch($row['users_status'])
  9.         {
  10.             case 'admin':
  11.                $color='#FF0000'; break;
  12.             case 'mod':
  13.                $color='#00FF00'; break;
  14.             default:
  15.                $color='#000000';
  16.         }
  17.         echo("<tr style=\"background: ".($i%2?'#CCCCCC':'#00CC00')."\">");
  18.         echo("<td>");
  19.         echo("<font color=\"".$color."\"><a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a></font><br>");
  20.         echo("</td>");
  21.         echo("</tr>");
  22.         $i++;
  23. }
  24. echo("</table>");
  25.  
8. SofiaKit - 28 Июля, 2011 - 17:38:57 - перейти к сообщению
EuGen неа, так не работает. похоже что куда-то надо еще определить $row['users_status']
9. iflight - 28 Июля, 2011 - 19:08:05 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  $result = mysql_query("SELECT login,id,users_status FROM users ORDER BY login") or die(mysql_error());
  2. echo("<table>");
  3. $i=0;
  4. while($row = mysql_fetch_array( $result ))
  5. {
  6.         $color='#000000';
  7.         switch($row['users_status'])
  8.         {
  9.             case 'admin':
  10.                $color='#FF0000'; break;
  11.             case 'mod':
  12.                $color='#00FF00'; break;
  13.             default:
  14.                $color='#000000';
  15.         }
  16.         echo("<tr style=\"background: ".($i%2?'#CCCCCC':'#00CC00')."\">");
  17.         echo("<td>");
  18.         echo("<a href=\"user_page.php?id=".$row[id]."\"><font color=\"".$color."\">".$row[login]."</font></a><br>");
  19.         echo("</td>");
  20.         echo("</tr>");
  21.         $i++;
  22. }
  23. echo("</table>");

Вот так будет подсвечивать, просто <font> надо поместить внутрь <a> иначе дефолтные настройки стиля <a> перекрывают <font>.

А по поводу углов вот например - http://recens[dot]ru/css/round_borders[dot]html

З.ы.: Кстати Ajax с тем же jQuery(который тоже проще, понятней, чем многие думают) становится очень простым)) Но лучше конечно сначала так разобраться..
10. illy - 28 Июля, 2011 - 19:11:26 - перейти к сообщению
$result = mysql_query("SELECT login,id,users_status FROM users ORDER BY login") or die(mysql_error());
echo("<table>");
$i=0;
while($row = mysql_fetch_array( $result ))
{
$color='#000000';
switch($row['login'])
{
case 'SofiaKit':
$color='#FF0000'; break;
case 'modershik':
$color='#00FF00'; break;
default:
$color='#000000';
}
echo("<tr style=\"background: ".($i%2?'#CCCCCC':'#00CC00')."\">");
echo("<td>");
echo("<font color=\"".$color."\"><a href=\"user_page.php?id=".$row[id]."\">".$row[login]."</a></font><br>");
echo("</td>");
echo("</tr>");
$i++;
}
echo("</table>");
11. SofiaKit - 29 Июля, 2011 - 11:23:44 - перейти к сообщению
все как надо, спасибо Здорово

 

Powered by ExBB FM 1.0 RC1