The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите построить такой html код"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (PHP)
Изначальное сообщение [ Отслеживать ]

"Помогите построить такой html код"  +/
Сообщение от evgeniy123 email(ok) on 03-Апр-13, 07:05 
здравствуйте. Встала проблема с выводом, что как я не пытался, не смог решить эту задачу. Есть у нас массив ассоциативныи с пользователями. $arr = array('user1'=>'100','user2'=>'89' ....) Если кто может то помогите мне привести его к виду как на картинке. Спасибо заранее

http://s58.radikal.ru/i161/1304/de/2a78f8ce40c2.jpg

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите построить такой html код"  +1 +/
Сообщение от михалыч (ok) on 03-Апр-13, 12:15 
> здравствуйте. Встала проблема с выводом, что как я не пытался, не смог
> решить эту задачу. Есть у нас массив ассоциативныи с пользователями. $arr
> = array('user1'=>'100','user2'=>'89' ....) Если кто может то помогите мне привести его
> к виду как на картинке. Спасибо заранее
> http://s58.radikal.ru/i161/1304/de/2a78f8ce40c2.jpg

Хм.. Не понял.
Что получить то хотите? Зебру? На php?
Так тут ничего сложного.

while (...) {
  $i++;
  // однополосная зебра
  $class = ($i % 2) ? $class="odd" : $class="even";

  // двуполосная зебра
  if ($i%4 == 0 || ($i-1)%4 == 0) {
    $class="odd";
  } else {
    $class="even";
  }
echo '<tr class="'.$class.'">
          <td>user...</td>
       </tr>\n';
...
}

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогите построить такой html код"  +1 +/
Сообщение от erera22 (ok) on 03-Апр-13, 15:02 
> здравствуйте. Встала проблема с выводом, что как я не пытался, не смог
> решить эту задачу. Есть у нас массив ассоциативныи с пользователями. $arr
> = array('user1'=>'100','user2'=>'89' ....) Если кто может то помогите мне привести его
> к виду как на картинке. Спасибо заранее
> http://s58.radikal.ru/i161/1304/de/2a78f8ce40c2.jpg

<?
   $arr = array (
      'user1' => 100,
      'user2' => 200,
      'user3' => 300,
      'user4' => 400,
      'user5' => 500,
      'user6' => 600,
      'user7' => 700,
      'user8' => 800,
   );
?>


<html>
<body>
<table>
<?
   $i = 1;
   while ($i < count ($arr)) {
      $style = ($style == 'odd' ) ? 'even' : 'odd'; # best practice http://htmlbook.ru/css/nth-child
      
      $key = 'user' . $i;
      $value = $arr[ $key ];

      $key_next = 'user' . ($i + 1);
      $value_next = $arr[ $key_next ];

?>
   <tr class="<? echo $style; ?>">                                                                                                                                                                        
      <td><? echo "$key ($key, $value)"; ?>)</td>
      <td><? echo "$key_next ($key_next, $value_next)"; ?>)</td>
   </tr>
<?
      $i += 2;
   }
?>
</table>
</body>
</html>

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Помогите построить такой html код"  +1 +/
Сообщение от михалыч (ok) on 03-Апр-13, 16:21 
>[оверквотинг удален]
>       <td><? echo "$key ($key, $value)"; ?>)</td>
>       <td><? echo "$key_next ($key_next, $value_next)"; ?>)</td>
>    </tr>
> <?
>       $i += 2;
>    }
> ?>
> </table>
> </body>
> </html>

Так это что ж? Ещё и массив ему выводить? Хых!))

<?php
$arr = array (
    'user1' => 100,
    'user2' => 200,
    'user3' => 300,
    'user4' => 400,
    'user5' => 500,
    'user6' => 600,
    'user7' => 700,
    'user8' => 800,
);

print "<html>
<body>
<style>
    tr.even {background: lightblue;}
</style>
<table>\n";

foreach ( $arr as $key=>$var ) {
    $i++;
    $class = ($i % 2) ? $class="odd" : $class="even";
    print "<tr class=\"$class\">
             <td>$key($var)</td>
           </tr>\n";
}
print "</table>
</body>
</html>\n";
?>

только в одну полосочку
а с background = yellow получится "Пчелайн" ))
А! вот ещё ))
$class = (($i/2 - count($arr))%2) ? $class="odd" : $class="even";
короче, на сколько поделишь $i/2(3,4,5) - стольки полосную зебру и получишь

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Помогите построить такой html код"  +/
Сообщение от erera22 (ok) on 03-Апр-13, 19:01 
1) array выведен и создан для понимания состава и структуры используемого ассоциативного массива. Не более.

2) Причем тут на сколько поделишь? Есть пример, где каждый последующий <tr> имеет свой стиль. any problems? Обделитесь, хоть на ноль.

3) <offtop>Выплюньте html-поделку из PHP. Итак язык дерьмовый, вы его дополнительно уродуете.</offtop>

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Помогите построить такой html код"  +/
Сообщение от evgeniy123 email(ok) on 03-Апр-13, 22:51 
>[оверквотинг удален]
> }
> print "</table>
> </body>
> </html>\n";
> ?>
> только в одну полосочку
> а с background = yellow получится "Пчелайн" ))
> А! вот ещё ))
> $class = (($i/2 - count($arr))%2) ? $class="odd" : $class="even";
> короче, на сколько поделишь $i/2(3,4,5) - стольки полосную зебру и получишь

При вашем подходе у настолько 1 тег <td>. А нужно 2 в <tr>

http://s020.radikal.ru/i716/1304/2c/6c02da523538.jpg

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Помогите построить такой html код"  +/
Сообщение от evgeniy123 email(ok) on 03-Апр-13, 23:16 
>[оверквотинг удален]
>> </body>
>> </html>\n";
>> ?>
>> только в одну полосочку
>> а с background = yellow получится "Пчелайн" ))
>> А! вот ещё ))
>> $class = (($i/2 - count($arr))%2) ? $class="odd" : $class="even";
>> короче, на сколько поделишь $i/2(3,4,5) - стольки полосную зебру и получишь
>  При вашем подходе у настолько 1 тег <td>. А нужно 2
> в <tr>

http://s020.radikal.ru/i716/1304/2c/6c02da523538.jpg

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Помогите построить такой html код"  +/
Сообщение от михалыч (ok) on 04-Апр-13, 05:17 
>[оверквотинг удален]
>> </html>\n";
>> ?>
>> только в одну полосочку
>> а с background = yellow получится "Пчелайн" ))
>> А! вот ещё ))
>> $class = (($i/2 - count($arr))%2) ? $class="odd" : $class="even";
>> короче, на сколько поделишь $i/2(3,4,5) - стольки полосную зебру и получишь
>  При вашем подходе у настолько 1 тег <td>. А нужно 2
> в <tr>
> http://s020.radikal.ru/i716/1304/2c/6c02da523538.jpg

Так вам шашечки или ехать?!
Это нужно строгому преподу "винституте"?
erera22 выше показал решение.
На мои посты не обращай внимания - это была шутка.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Помогите построить такой html код"  +/
Сообщение от evgeniy123 email(ok) on 04-Апр-13, 05:29 
>[оверквотинг удален]
>>> А! вот ещё ))
>>> $class = (($i/2 - count($arr))%2) ? $class="odd" : $class="even";
>>> короче, на сколько поделишь $i/2(3,4,5) - стольки полосную зебру и получишь
>>  При вашем подходе у настолько 1 тег <td>. А нужно 2
>> в <tr>
>> http://s020.radikal.ru/i716/1304/2c/6c02da523538.jpg
> Так вам шашечки или ехать?!
> Это нужно строгому преподу "винституте"?
> erera22 выше показал решение.
> На мои посты не обращай внимания - это была шутка.

У него неправильный вывод. Все базируется на индексе итератора. А на рисунке  нужно сделать ключ + значение в каждом <tr>. В этом вся соль

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Помогите построить такой html код"  +1 +/
Сообщение от михалыч (ok) on 04-Апр-13, 11:43 
>[оверквотинг удален]
>>>  При вашем подходе у настолько 1 тег <td>. А нужно 2
>>> в <tr>
>>> http://s020.radikal.ru/i716/1304/2c/6c02da523538.jpg
>> Так вам шашечки или ехать?!
>> Это нужно строгому преподу "винституте"?
>> erera22 выше показал решение.
>> На мои посты не обращай внимания - это была шутка.
> У него неправильный вывод. Все базируется на индексе итератора. А на рисунке
>  нужно сделать ключ + значение в каждом <tr>. В этом
> вся соль

Да вам, батенька, как я вижу, не угодишь! ))
Экий вы привереда!

<?php
$arr = array (
    'user1' => 100,
    'user2' => 200,
    'user3' => 300,
    'user4' => 400,
    'user5' => 500,
    'user6' => 600,
    'user7' => 700,
    'user8' => 800,
);

function Elem($arr,$i) {

    $cnt = 1;
    foreach($arr as $key => $var)
    {
        if ($cnt++ == $i) return "$key($key,$var)";
    }
    return -1;
}

print "<html>
<style>
    tr.even {background: lightblue;}
</style>
<body>
<table>\n";

for ($i=1; $i<count($arr); $i++) {
    if($i % 2 != 0) {
        $class = ($class == 'odd' ) ? 'even' : 'odd';
        print "<tr class='$class'>\n";
        print "  <td>".Elem($arr,$i)."</td>\n";
        print "  <td>".Elem($arr,$i+1)."</td>\n";
        print "</tr>\n";
    }
}

print "</table>
</body>
</html>\n";
?>

Ну, что ещё теперь? ))

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Помогите построить такой html код"  +/
Сообщение от evgeniy123 email(ok) on 05-Апр-13, 10:10 
>[оверквотинг удален]
>         print "  <td>".Elem($arr,$i)."</td>\n";
>         print "  <td>".Elem($arr,$i+1)."</td>\n";
>         print "</tr>\n";
>     }
> }
> print "</table>
> </body>
> </html>\n";
> ?>
> Ну, что ещё теперь? ))

ну вы блин даете, михалыч :) Спасибо огромное. Для столько работы дали отдушину !!!

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Помогите построить такой html код"  +/
Сообщение от михалыч (ok) on 05-Апр-13, 13:25 
> ну вы блин даете, михалыч :) Спасибо огромное. Для столько работы дали
> отдушину !!!

Да, ладно, что там! ))

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру