За последние 24 часа нас посетили 153135 программистов и 2936 роботов. Сейчас ищут 1758 программистов ...

Чередование цветов ячеек

Тема в разделе "PHP для новичков", создана пользователем MCTrane, 30 мар 2010.

  1. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Есть код только не правильно работает...
    PHP:
    1. while ($row=mysql_fetch_assoc($res))
    2.     {
    3.         $urllink=$row["url"];
    4.         $description=$row["description"];
    5.           $klicks=$row["klicks"];
    6.         $id=$row["id"];
    7.         $i=$i+1;
    8.         ?>
    9.             <table width=100%>
    10.             <tr bgcolor='red'>
    11.         <td width=100%><a href="reu.php?id=<?=$id?>&adv=stat" target="_blank"><? echo $description; ?></a> <font size=1 color='#c0c0be'>кликов <?=$klicks?></font></td><br>
    12.         </tr>
    13. <?
    14. if(mysql_num_rows($res)>1)
    15. {
    16. ?>
    17.           <tr bgcolor='black'>
    18.         <td width=100%><a href="reu.php?id=<?=$id?>&adv=stat" target="_blank"><? echo $description; ?></a> <font size=1 color='#c0c0be'>кликов <?=$klicks?></font></td><br>
    19.         </tr>
    20. <?
    21. }
    22. ?>
    23. </table>
    Можете подсказать как сделать чередование ячеек одна например красная другая чёрная потом опять красная и т.д.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    PHP:
    1. <tr bgcolor='<?php if ($bgcol == 'black') {$bgcol = 'red';} else {$bgcol = 'black';} echo $bgcol; ?>'>
    как вариант
    PHP:
    1. <tr bgcolor='<?php
    2.  
    3. switch ($i) {
    4.     case 1:
    5.        echo 'black';
    6.        break;
    7.     case 2:
    8.        echo 'red';
    9.        break;
    10.     case 3:
    11.        echo 'green';
    12.        break;
    13.     case 4:
    14.        echo 'blue';
    15.        break;
    16.     default:
    17.        echo 'magenta';
    18.        $i = 0;
    19. }
    20.  
    21. $i++;
    22.  
    23. ?>'>
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. $layer = '<div style="background: {color};">&nbsp;</div>';
    4.  
    5. for($i = 1; $i <= 25; $i++) {
    6.     if(!($i % 2)) {
    7.         $color = "gray";
    8.     } else $color = "silver";
    9.    
    10.     echo str_replace('{color}', $color, $layer);
    11. }
    12.  
    13. ?>
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    [css]<style>
    .redCell {background-color:red;}
    .greenCell {background-color:green;}
    </style>[/css]

    PHP:
    1. <table>
    2. <?php
    3.     $cellNum=0;
    4.     $firstRow=true;
    5.     while($row=$db->fetchAssoc($res)) {
    6.         if ($firstRow){
    7.             $firstRow=false; ?>
    8.     <thead>
    9.         <tr>
    10. <?php       foreach(array_keys($row) as $thead) {?>
    11.             <th><?php echo $thead; ?></th>
    12. <?php       } ?>
    13.         </tr>
    14.     </thead>
    15.     <tbody>
    16.    
    17. <?php   } ?>
    18.         <tr>
    19. <?php   foreach ($row as $cellData){
    20.             $cellNum++;
    21.             $cellClass=$cellNum%2==0 ? "redCell" : "greenCell"; ?>
    22.             <td class='<?php echo $cellClass; ?>'><?php echo $cellData; ?></td>
    23. <?php    } ?>
    24.         </tr>
    25. <?php } ?>
    26.     </tbody>
    27. </table>
     
  5. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Всем спасибо.
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ненаглядно
    PHP:
    1. <?php
    2. for($i=0;$i<25;$i+=print str_replace('{color}',!($i%2)?'red':'black','<div style="background: {color};"> </div>'));
    ...мне, когда начинал изучать программирование, так нравились такие конструкции :)
     
  7. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    printf уже отключили?
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А printf bool не возвращает, придется так
    PHP:
    1. <?php
    2. for($i=0;$i<25;$i+=(bool)printf('<div style="background: %s;"> </div>',!($i%2)?'red':'black'));
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    я тебе открою секрет
    PHP:
    1. <?php
    2. for($i=0;$i<25;$i++, printf($i), printf($i*$i));
     
  10. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    PHP:
    1. <?php
    2. for ($i = 0; $i < 25; printf("%d", $i++)
    3.  
    а так не работает?
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Да знаю я это, идея была как раз обойтись без запятой))
    PHP:
    1. <?php
    2. for($i=0;$i<25?print($i++):0;);
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Epic
    PHP:
    1. <?php
    2. while(@$i<25?printf('<div style="background: %s;"> </div>',!($i++%2)?'red':'black'):0);
     
  13. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. $i = 20;
    4.  
    5. do
    6. {
    7.     printf('<div style="background: %s;">&nbsp;</div>', (($i % 2) ? 'gray' : 'silver'));
    8. } while (--$i);
    9.  
    10. ?>
    Этак на весенний говнокод потянуло =]
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    [js]<script>$("tr:eek:dd").css("background-color", "#bbbbff");</script>[/js]
    не в тему, зато про войну
     
  15. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Luge
    А разве css3 не допускает выполнять подобное нативно?
    Или это тот случай когда "точно работает!"? ;)
     
  16. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    topas
    ты это бразерам скажи, ага :)
     
  17. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Luge
    А кто это? ;)