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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: турнирная сетка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
ridvik
Отправлено: 24 Ноября, 2012 - 09:10:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Доброе утро. Интересует такой вопрос. Хочу написать модуль турнирной сетки, но вот не знаю, как это реализовать. Посоветуйте как можно это сделать. Улыбка просто не знаю как таблицу в сторону рисовать((( у меня вот есть идея сделать дивами, т.е. для каждой колонки див и в каждый див определенную функцию, но тогда получится туча запросов к бд.
П.с. колл команд будет всегда честным: 8,16,32,64.
 
 Top
dubasua
Отправлено: 24 Ноября, 2012 - 10:51:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Ну вот сначала делайте запрос к базе, и потом опираясь на выбранные данные рисуйте таблицу.
 
 Top
ridvik
Отправлено: 24 Ноября, 2012 - 11:15:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Запрос не проблема,проблема в том, что не знаю как с помощью циклов рисовать таблицу.... и вот ещё, как будет оптимальней сделать таблицу в бд под это дело???
 
 Top
dubasua
Отправлено: 24 Ноября, 2012 - 11:23:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <table>
  3. <th>Колонка 1</th>
  4. <th>Колонка 2</th>
  5. <th>Колонка 3</th>
  6.  
  7. <tr>
  8. <?PHP
  9.  
  10. $colomn = 3;
  11. while($column !=0){
  12.    echo "<td>$val</td>";
  13.    $column--;
  14. }
  15. ?>
  16. </tr>
  17.  
  18. </table>
  19.  

Вот примерно так циклом вывести колонки в строке. Для строк сделайте примерно тоже самое.

(Отредактировано автором: 24 Ноября, 2012 - 11:23:50)

 
 Top
ridvik
Отправлено: 24 Ноября, 2012 - 13:25:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


а вот как мне тогда запрос правильно составить, что бы по колонкам выводилось? то бишь 1/8, 1/4 и т.д???
 
 Top
ridvik
Отправлено: 25 Ноября, 2012 - 04:42:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Ау, народ, помогите до ума довести пожалуйста(((
 
 Top
ridvik
Отправлено: 25 Ноября, 2012 - 19:42:00
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


люди, помогите упростить код... написал сетку для 8 команд, получается куева туча запросов к бд плюс лишняя нагрузка... как легче можно сделать??? вот код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. global $main;
  3. $result = $main->db->sql_query("SELECT * FROM dynamit_test WHERE id2='1/8'");
  4. echo "<div class='clearfix'>";
  5. echo "<div id='wrapper'>";
  6. while ($r = $main->db->sql_fetchrow($result))
  7. {
  8. echo "<div class='winnercell'>".$r['name']."</div>";
  9. }
  10. echo "</div>";
  11. echo "<div id='wrapper2'>";
  12. $result = $main->db->sql_query("SELECT * FROM dynamit_test WHERE id2='1/4'");
  13. while ($r = $main->db->sql_fetchrow($result))
  14. {
  15. echo "<div class='voidcell'>&nbsp;</div>";
  16. echo "<div class='losercell'>".$r['name']."</div>";
  17. }
  18. echo "</div>";
  19. echo "<div id='wrapper3'>";
  20. $result = $main->db->sql_query("SELECT * FROM dynamit_test WHERE id2='1/2'");
  21. while ($r = $main->db->sql_fetchrow($result))
  22. {
  23. echo "<div class='voidcell2'>&nbsp;</div>";
  24. echo "<div class='cell'>".$r['name']."</div>";
  25. echo "<div class='voidcell2'>&nbsp;</div>";
  26. }
  27. echo "</div>";
  28.  
  29. echo "<div id='wrapper4'>";
  30. $result = $main->db->sql_query("SELECT * FROM dynamit_test WHERE id2='win'");
  31. while ($r = $main->db->sql_fetchrow($result))
  32. {
  33. echo "<div class='voidcell3'>&nbsp;</div>";
  34. echo "<div class='cell'>".$r['name']."</div>";
  35. }
  36. echo "</div>";
  37. echo "</div>";
  38. ?>

CODE (html):
скопировать код в буфер обмена
  1.  
  2. div#team{
  3.         margin-bottom: 20px;
  4.         background: yellow;
  5.         border: 4px double black;
  6.         text-align:center;
  7.         width:50px;
  8.         height:25px;
  9. }
  10.  
  11. div#team2{
  12.         margin-left: 10px;
  13.         margin-bottom: 60px;
  14.         background: yellow;
  15.         border: 4px double black;
  16.         text-align:center;
  17.         width:50px;
  18.         height:25px;
  19. }
  20.  
  21. div#team3{
  22.         margin-left: 20px;
  23.         margin-bottom: 30px;
  24. }
  25.  
  26. div#wrapper{
  27.         float:left;
  28.         width:20%;
  29. }
  30.  
  31. div#wrapper2{
  32.         float:left;
  33.         width:20%;
  34. }
  35.  
  36. div#wrapper3{
  37.         float:left;
  38.         margin-left: 40px;
  39.         width:20%;
  40. }
  41.  
  42. div#wrapper4{
  43.         float:left;
  44.         margin-left: 40px;
  45.         width:20%;
  46. }
  47.  
  48. /* Clearfix */
  49. .clearfix:after {
  50.         visibility: hidden;
  51.         display: block;
  52.         font-size: 0;
  53.         content: " ";
  54.         clear: both;
  55.         height: 0;
  56. }
  57. * html .clearfix             { zoom: 1 } /* IE6 */
  58. *:first-child+html .clearfix { zoom: 1 } /* IE7 */
  59.  
  60.  
  61.  
  62. .winnercell
  63. {
  64.         border-style: solid;
  65.         border-color: #000000;
  66.         border-width: 1;
  67.         text-align: center;
  68.         background-color: #DDDDFF;
  69.         width: 60px;
  70.         height: 20px;
  71.         margin-bottom: 20px;
  72. }
  73.  
  74. .losercell
  75. {
  76.         border-style: solid;
  77.         border-color: #000000;
  78.         border-width: 1;
  79.         text-align: center;
  80.         background-color: #EEDDEE;
  81.         width: 60px;
  82.         height: 20px;
  83.         margin-bottom: 46px;
  84.         margin-left: 20px;
  85. }
  86.  
  87. .cell
  88. {
  89.         border-style: solid;
  90.         border-color: #000000;
  91.         border-width: 1;
  92.         text-align: center;
  93.         background-color: yellow;
  94.         width: 60px;
  95.         height: 20px;
  96.         margin-bottom: 46px;
  97.         margin-left: 20px;
  98. }
  99.  
  100. .voidcell
  101. {
  102.         width: 20px;
  103.         height: 20px;
  104.         margin-left: 20px;
  105. }
  106.  
  107. .voidcell2
  108. {
  109.         width: 20px;
  110.         height: 60px;
  111.         margin-left: 20px;
  112. }
  113.  
  114. .voidcell3
  115. {
  116.         width: 20px;
  117.         height: 160px;
  118.         margin-left: 20px;
  119. }


помогите пожалуйста, ооооочень надо....
 
 Top
KingStar
Отправлено: 25 Ноября, 2012 - 20:54:33
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




0 - задать числовой тип для поля id2 (разницы нет, хранить 1/4 или просто 4, и так ясно))
1 - класы в стилях переименовать в соответствии о значением id2 (т.е. voidcell16, voidcell8, voidcell4, voidcell2, и также wrapper16, wrapper8, wrapper4, wrapper2))

PHP:
скопировать код в буфер обмена
  1. global $main;
  2. $result = $main->db->sql_query("SELECT * FROM dynamit_test ORDER BY id2");
  3.  
  4. echo "<div class='clearfix'>";
  5.  
  6. $wrapper = null;
  7. while ($r = $main->db->sql_fetchrow($result))
  8. {
  9.         if($wrapper != $r['id2'])
  10.         {
  11.                 echo "<div id='wrapper".$r['id2']."'>";
  12.         }
  13.  
  14.                 echo "<div class='voidcell".$r['id2']."'>&nbsp;</div>";
  15.                 echo "<div class='cell'>".$r['name']."</div>";
  16.                 echo "<div class='voidcell".$r['id2']."'>&nbsp;</div>";
  17.  
  18.         if($wrapper != $r['id2'])
  19.         {
  20.                 echo "</div>";
  21.         }
  22. }
  23.  
  24. echo "</div>";


думаю как-то так Улыбка


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB