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]   

> Описание: Не все ячейки заполняются, и следовательно выглядит ужасно
maximatorrus
Отправлено: 22 Января, 2014 - 11:45:37
Post Id


Новичок


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


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




Добрый день. Пользуююсь Yii, в нем предуставновленные стили, не могу изменить ширину поля (ВРЕМЯ), как бы я ни тыкал, где бы ни менял)

Парсил данные json, ими заполнил таблицу, и за неимением некоторых данных-не красиво табличка смотрится. Есть идея-где пустая ячейка - заполнить текстом "Временно отсутствует". как бы это сделать?

Код вывода таблички и css файлы

CODE (htmlphp):
скопировать код в буфер обмена
  1. <table border="1">
  2. <tr>
  3. <td rowspan="2" class="col">Специальность</td>
  4. <td rowspan="2" class="col">ФИО</td>
  5. <td rowspan="2" class="col">Кабинет</td>
  6.  
  7. <?php foreach($decode2 as $name => $value) {
  8. foreach ($value as $nam => $entry) { ?>
  9. <td class="col" width="200%"> <?php echo $nam;
  10.    } } ?>
  11. </td>
  12. </tr>
  13. <?php foreach($decode2 as $name => $value) {
  14. foreach ($value as $nam => $entry) { ?>
  15. <td class="col"> <?php        echo $entry;
  16.    } } ?>
  17. </td>
  18. <tr>
  19. </tr>
  20. <tr><?php foreach($decode1['doctors'] as $d) {?>
  21. <td class="col"><?php echo $d['speciality']; echo"<br/>"; echo $d['district'];?></td>
  22. <td class="col"><?php echo $d['fio'];?></td>
  23. <td class="col"><?php echo $d['room'];?></td>
  24. <?php foreach($d['schedule'] as $schedule) { ?>
  25.  
  26. <td class="col"><?php foreach($schedule['times'] as $hours) { ?>
  27.  <?php
  28. echo $hours['from'];?> - <?php echo $hours['to'];
  29. }
  30. } ?>
  31. </td>
  32.  
  33. </tr>
  34. <?php }?>
  35. </table>


CODE (html):
скопировать код в буфер обмена
  1. /* -----------------------------------------------------------------------
  2.  
  3.  
  4.  Blueprint CSS Framework 1.0.1
  5.  http://blueprintcss.org
  6.  
  7.    * Copyright (c) 2007-Present. See LICENSE for more info.
  8.    * See README for instructions on how to use Blueprint.
  9.    * For credits and origins, see AUTHORS.
  10.    * This is a compressed file. See the sources in the 'src' directory.
  11.  
  12. ----------------------------------------------------------------------- */
  13.  
  14. /* reset.css */
  15. html {margin:0;padding:0;border:0;}
  16. body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
  17. article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section {display:block;}
  18. body {line-height:1.5;background:white;}
  19. table {border-collapse:collapse;border-spacing:1;text-align:center; border:1px solid #D1B58D;}
  20. caption, th, td {text-align:left;font-weight:normal;float:none !important;}
  21. table, th, td {vertical-align:middle;border:1px solid #D1B58D; width:200%;}
  22. blockquote:before, blockquote:after, q:before, q:after {content:'';}
  23. blockquote, q {quotes:"" "";}
  24. a img {border:none;}
  25. :focus {outline:0;}
  26.  
  27. /* typography.css */
  28. html {font-size:100.01%;}
  29. body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
  30. h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
  31. h1 {font-size:2em;line-height:1;margin-bottom:0.5em;}
  32. h2 {font-size:1.6em;margin-bottom:0.75em;}
  33. h3 {font-size:1.4em;line-height:1;margin-bottom:1em;}
  34. h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
  35. h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
  36. h6 {font-size:1em;font-weight:bold;}
  37. h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
  38. p {margin:0 0 1.5em;}
  39. .left {float:left !important;}
  40. p .left {margin:1.5em 1.5em 1.5em 0;padding:0;}
  41. .right {float:right !important;}
  42. p .right {margin:1.5em 0 1.5em 1.5em;padding:0;}
  43. a:focus, a:hover {color:#09f;}
  44. a {color:#06c;text-decoration:underline;}
  45. blockquote {margin:1.5em;color:#666;font-style:italic;}
  46. strong, dfn {font-weight:bold;}
  47. em, dfn {font-style:italic;}
  48. sup, sub {line-height:0;}
  49. abbr, acronym {border-bottom:1px dotted #666;}
  50. address {margin:0 0 1.5em;font-style:italic;}
  51. del {color:#666;}
  52. pre {margin:1.5em 0;white-space:pre;}
  53. pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
  54. li ul, li ol {margin:0;}
  55. ul, ol {margin:0 1.5em 1.5em 0;padding-left:1.5em;}
  56. ul {list-style-type:disc;}
  57. ol {list-style-type:decimal;}
  58. dl {margin:0 0 1.5em 0;}
  59. dl dt {font-weight:bold;}
  60. dd {margin-left:1.5em;}
  61. table {margin-bottom:1.4em;text-align:center;width:100%;}
  62. th {font-weight:bold;}
  63. thead th {background:#c3d9ff;}
  64. th, td, caption {padding:4px 10px 4px 5px;}
  65. tfoot {font-style:italic;}
  66. caption {background:#eee;}
  67. .small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
  68. .large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
  69. .hide {display:none;}
  70. .quiet {color:#666;}
  71. .loud {color:#000;}
  72. .highlight {background:#ff0;}
  73. .added {background:#060;color:#fff;}
  74. .removed {background:#900;color:#fff;}
  75. .first {margin-left:0;padding-left:0;}
  76. .last {margin-right:0;padding-right:0;}
  77. .top {margin-top:0;padding-top:0;}
  78. .bottom {margin-bottom:0;padding-bottom:0;}
  79.  
  80. /* grid.css */
  81. .container {width:950px;margin:0 auto;}
  82. .column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
  83. .last {margin-right:0;}
  84. .span-1 {width:30px;}
  85. .span-2 {width:70px;}
  86. .span-3 {width:110px;}
  87. .span-4 {width:150px;}
  88. .span-5 {width:190px;}
  89. .span-6 {width:230px;}
  90. .span-7 {width:270px;}
  91. .span-8 {width:310px;}
  92. .span-9 {width:350px;}
  93. .span-10 {width:390px;}
  94. .span-11 {width:430px;}
  95. .span-12 {width:470px;}
  96. .span-13 {width:510px;}
  97. .span-14 {width:550px;}
  98. .span-15 {width:590px;}
  99. .span-16 {width:630px;}
  100. .span-17 {width:670px;}
  101. .span-18 {width:710px;}
  102. .span-19 {width:750px;}
  103. .span-20 {width:790px;}
  104. .span-21 {width:830px;}
  105. .span-22 {width:870px;}
  106. .span-23 {width:910px;}
  107. .span-24 {width:950px;margin-right:0;}
  108. input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
  109. input.span-1, textarea.span-1 {width:18px;}
  110. input.span-2, textarea.span-2 {width:58px;}
  111. input.span-3, textarea.span-3 {width:98px;}
  112. input.span-4, textarea.span-4 {width:138px;}
  113. input.span-5, textarea.span-5 {width:178px;}
  114. input.span-6, textarea.span-6 {width:218px;}
  115. input.span-7, textarea.span-7 {width:258px;}
  116. input.span-8, textarea.span-8 {width:298px;}
  117. input.span-9, textarea.span-9 {width:338px;}
  118. input.span-10, textarea.span-10 {width:378px;}
  119. input.span-11, textarea.span-11 {width:418px;}
  120. input.span-12, textarea.span-12 {width:458px;}
  121. input.span-13, textarea.span-13 {width:498px;}
  122. input.span-14, textarea.span-14 {width:538px;}
  123. input.span-15, textarea.span-15 {width:578px;}
  124. input.span-16, textarea.span-16 {width:618px;}
  125. input.span-17, textarea.span-17 {width:658px;}
  126. input.span-18, textarea.span-18 {width:698px;}
  127. input.span-19, textarea.span-19 {width:738px;}
  128. input.span-20, textarea.span-20 {width:778px;}
  129. input.span-21, textarea.span-21 {width:818px;}
  130. input.span-22, textarea.span-22 {width:858px;}
  131. input.span-23, textarea.span-23 {width:898px;}
  132. input.span-24, textarea.span-24 {width:938px;}
  133. .append-1 {padding-right:40px;}
  134. .append-2 {padding-right:80px;}
  135. .append-3 {padding-right:120px;}
  136. .append-4 {padding-right:160px;}
  137. .append-5 {padding-right:200px;}
  138. .append-6 {padding-right:240px;}
  139. .append-7 {padding-right:280px;}
  140. .append-8 {padding-right:320px;}
  141. .append-9 {padding-right:360px;}
  142. .append-10 {padding-right:400px;}
  143. .append-11 {padding-right:440px;}
  144. .append-12 {padding-right:480px;}
  145. .append-13 {padding-right:520px;}
  146. .append-14 {padding-right:560px;}
  147. .append-15 {padding-right:600px;}
  148. .append-16 {padding-right:640px;}
  149. .append-17 {padding-right:680px;}
  150. .append-18 {padding-right:720px;}
  151. .append-19 {padding-right:760px;}
  152. .append-20 {padding-right:800px;}
  153. .append-21 {padding-right:840px;}
  154. .append-22 {padding-right:880px;}
  155. .append-23 {padding-right:920px;}
  156. .prepend-1 {padding-left:40px;}
  157. .prepend-2 {padding-left:80px;}
  158. .prepend-3 {padding-left:120px;}
  159. .prepend-4 {padding-left:160px;}
  160. .prepend-5 {padding-left:200px;}
  161. .prepend-6 {padding-left:240px;}
  162. .prepend-7 {padding-left:280px;}
  163. .prepend-8 {padding-left:320px;}
  164. .prepend-9 {padding-left:360px;}
  165. .prepend-10 {padding-left:400px;}
  166. .prepend-11 {padding-left:440px;}
  167. .prepend-12 {padding-left:480px;}
  168. .prepend-13 {padding-left:520px;}
  169. .prepend-14 {padding-left:560px;}
  170. .prepend-15 {padding-left:600px;}
  171. .prepend-16 {padding-left:640px;}
  172. .prepend-17 {padding-left:680px;}
  173. .prepend-18 {padding-left:720px;}
  174. .prepend-19 {padding-left:760px;}
  175. .prepend-20 {padding-left:800px;}
  176. .prepend-21 {padding-left:840px;}
  177. .prepend-22 {padding-left:880px;}
  178. .prepend-23 {padding-left:920px;}
  179. .border {padding-right:4px;margin-right:5px;border-right:1px solid #ddd;}
  180. .colborder {padding-right:24px;margin-right:25px;border-right:1px solid #ddd;}
  181. .pull-1 {margin-left:-40px;}
  182. .pull-2 {margin-left:-80px;}
  183. .pull-3 {margin-left:-120px;}
  184. .pull-4 {margin-left:-160px;}
  185. .pull-5 {margin-left:-200px;}
  186. .pull-6 {margin-left:-240px;}
  187. .pull-7 {margin-left:-280px;}
  188. .pull-8 {margin-left:-320px;}
  189. .pull-9 {margin-left:-360px;}
  190. .pull-10 {margin-left:-400px;}
  191. .pull-11 {margin-left:-440px;}
  192. .pull-12 {margin-left:-480px;}
  193. .pull-13 {margin-left:-520px;}
  194. .pull-14 {margin-left:-560px;}
  195. .pull-15 {margin-left:-600px;}
  196. .pull-16 {margin-left:-640px;}
  197. .pull-17 {margin-left:-680px;}
  198. .pull-18 {margin-left:-720px;}
  199. .pull-19 {margin-left:-760px;}
  200. .pull-20 {margin-left:-800px;}
  201. .pull-21 {margin-left:-840px;}
  202. .pull-22 {margin-left:-880px;}
  203. .pull-23 {margin-left:-920px;}
  204. .pull-24 {margin-left:-960px;}
  205. .pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
  206. .push-1 {margin:0 -40px 1.5em 40px;}
  207. .push-2 {margin:0 -80px 1.5em 80px;}
  208. .push-3 {margin:0 -120px 1.5em 120px;}
  209. .push-4 {margin:0 -160px 1.5em 160px;}
  210. .push-5 {margin:0 -200px 1.5em 200px;}
  211. .push-6 {margin:0 -240px 1.5em 240px;}
  212. .push-7 {margin:0 -280px 1.5em 280px;}
  213. .push-8 {margin:0 -320px 1.5em 320px;}
  214. .push-9 {margin:0 -360px 1.5em 360px;}
  215. .push-10 {margin:0 -400px 1.5em 400px;}
  216. .push-11 {margin:0 -440px 1.5em 440px;}
  217. .push-12 {margin:0 -480px 1.5em 480px;}
  218. .push-13 {margin:0 -520px 1.5em 520px;}
  219. .push-14 {margin:0 -560px 1.5em 560px;}
  220. .push-15 {margin:0 -600px 1.5em 600px;}
  221. .push-16 {margin:0 -640px 1.5em 640px;}
  222. .push-17 {margin:0 -680px 1.5em 680px;}
  223. .push-18 {margin:0 -720px 1.5em 720px;}
  224. .push-19 {margin:0 -760px 1.5em 760px;}
  225. .push-20 {margin:0 -800px 1.5em 800px;}
  226. .push-21 {margin:0 -840px 1.5em 840px;}
  227. .push-22 {margin:0 -880px 1.5em 880px;}
  228. .push-23 {margin:0 -920px 1.5em 920px;}
  229. .push-24 {margin:0 -960px 1.5em 960px;}
  230. .push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:left;position:relative;}
  231. div.prepend-top, .prepend-top {margin-top:1.5em;}
  232. div.append-bottom, .append-bottom {margin-bottom:1.5em;}
  233. .box {padding:1.5em;margin-bottom:1.5em;background:#e5eCf9;}
  234. hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:0 0 17px;border:none;}
  235. hr.space {background:#fff;color:#fff;visibility:hidden;}
  236. .clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
  237. .clearfix, .container {display:block;}
  238. .clear {clear:both;}

CODE (htmlphp):
скопировать код в буфер обмена
  1. body
  2. {
  3.         margin: 0;
  4.         padding: 0;
  5.         color: #555;
  6.         font: normal 10pt Arial,Helvetica,sans-serif;
  7.         background: #EFEFEF;
  8. background-size: 100%;
  9. }
  10. table td {
  11. width:200%;
  12. }
  13.  
  14. table.col {
  15. text-align:center;
  16. }
  17. td.col {
  18. text-align:center;
  19. }
  20.  
  21. #page
  22. {background-size: 100%;
  23.         margin-top: 5px;
  24.         margin-bottom: 5px;
  25.         background: white;
  26.         border: 1px solid #C9E0ED;
  27.         width:100%;
  28. }
  29.  
  30.  
  31. #header
  32. {
  33.         margin: 0;
  34.         padding: 0;
  35.         border-top: 3px solid #C9E0ED;
  36. }
  37.  
  38. #content
  39. {
  40.     padding: 20px;
  41. }
  42.  
  43. #sidebar
  44. {
  45.         padding: 20px 20px 20px 0;
  46. }
  47.  
  48. #footer
  49. {
  50.         padding: 10px;
  51.         margin: 10px 20px;
  52.         font-size: 0.8em;
  53.         text-align: center;
  54.         border-top: 1px solid #C9E0ED;
  55. }
  56.  
  57. #logo
  58. {
  59.         padding: 10px 20px;
  60.         font-size: 200%;
  61. }
  62.  
  63. #mainmenu
  64. {
  65.         background:white url(bg.gif) repeat-x left top;
  66. }
  67.  
  68. #mainmenu ul
  69. {
  70.         padding:6px 20px 5px 20px;
  71.         margin:0px;
  72. }
  73.  
  74. #mainmenu ul li
  75. {
  76.         display: inline;
  77. }
  78.  
  79. #mainmenu ul li a
  80. {
  81.         color:#ffffff;
  82.         background-color:transparent;
  83.         font-size:12px;
  84.         font-weight:bold;
  85.         text-decoration:none;
  86.         padding:5px 8px;
  87. }
  88.  
  89. #mainmenu ul li a:hover, #mainmenu ul li.active a
  90. {
  91.         color: #6399cd;
  92.         background-color:#EFF4FA;
  93.         text-decoration:none;
  94. }
  95.  
  96. div.flash-error, div.flash-notice, div.flash-success
  97. {
  98.         padding:.8em;
  99.         margin-bottom:1em;
  100.         border:2px solid #ddd;
  101. }
  102.  
  103. div.flash-error
  104. {
  105.         background:#FBE3E4;
  106.         color:#8a1f11;
  107.         border-color:#FBC2C4;
  108. }
  109.  
  110. div.flash-notice
  111. {
  112.         background:#FFF6BF;
  113.         color:#514721;
  114.         border-color:#FFD324;
  115. }
  116.  
  117. div.flash-success
  118. {
  119.         background:#E6EFC2;
  120.         color:#264409;
  121.         border-color:#C6D880;
  122. }
  123.  
  124. div.flash-error a
  125. {
  126.         color:#8a1f11;
  127. }
  128.  
  129. div.flash-notice a
  130. {
  131.         color:#514721;
  132. }
  133.  
  134. div.flash-success a
  135. {
  136.         color:#264409;
  137. }
  138.  
  139. div.form .rememberMe label
  140. {
  141.         display: inline;
  142. }
  143.  
  144. div.view
  145. {
  146.         padding: 10px;
  147.         margin: 10px 0;
  148.         border: 1px solid #C9E0ED;
  149. }
  150.  
  151. div.breadcrumbs
  152. {
  153.         font-size: 0.9em;
  154.         padding: 5px 20px;
  155. }
  156.  
  157. div.breadcrumbs span
  158. {
  159.         font-weight: bold;
  160. }
  161.  
  162. div.search-form
  163. {
  164.         padding: 10px;
  165.         margin: 10px 0;
  166.         background: #eee;
  167. }
  168.  
  169. .portlet
  170. {
  171.  
  172. }
  173.  
  174. .portlet-decoration
  175. {
  176.         padding: 3px 8px;
  177.         background: #B7D6E7;
  178.         border-left: 5px solid #6FACCF;
  179. }
  180.  
  181. .portlet-title
  182. {
  183.         font-size: 12px;
  184.         font-weight: bold;
  185.         padding: 0;
  186.         margin: 0;
  187.         color: #298dcd;
  188. }
  189.  
  190. .portlet-content
  191. {
  192.         font-size:0.9em;
  193.         margin: 0 0 15px 0;
  194.         padding: 5px 8px;
  195.         background:#EFFDFF;
  196. }
  197.  
  198. .portlet-content ul
  199. {
  200.         list-style-image:none;
  201.         list-style-position:outside;
  202.         list-style-type:none;
  203.         margin: 0;
  204.         padding: 0;
  205. }
  206.  
  207. .portlet-content li
  208. {
  209.         padding: 2px 0 4px 0px;
  210. }
  211.  
  212. .operations
  213. {
  214.         list-style-type: none;
  215.         margin: 0;
  216.         padding: 0;
  217. }
  218.  
  219. .operations li
  220. {
  221.         padding-bottom: 2px;
  222. }
  223.  
  224. .operations li a
  225. {
  226.         font: bold 12px Arial;
  227.         color: #0066A4;
  228.         display: block;
  229.         padding: 2px 0 2px 8px;
  230.         line-height: 15px;
  231.         text-decoration: none;
  232. }
  233.  
  234. .operations li a:visited
  235. {
  236.         color: #0066A4;
  237. }
  238.  
  239. .operations li a:hover
  240. {
  241.         background: #80CFFF;
  242. }

(Добавление)
Чтоб отсортировать по "специальности" - например, сперва вывести всех терапевтов, а затем уже узкие специальности, сортировать нужно сразу же после decode json?
Прикреплено изображение (Нажмите для увеличения)
Снимок экрана от 2014-01-22 16:31:51.png
 
 Top
eai
Отправлено: 22 Января, 2014 - 12:06:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009  
Откуда: Петроград


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




Вставлять в пустые ячейки &nbps;
 
 Top
maximatorrus
Отправлено: 22 Января, 2014 - 12:20:37
Post Id


Новичок


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


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




eai пишет:
Вставлять в пустые ячейки &nbps;


каким образом? у меня ведь циклом foreach проходит, как вставлять?
 
 Top
peters
Отправлено: 22 Января, 2014 - 12:25:46
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014  


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




Вы json откуда получаете? из БД генерируется ?
 
 Top
esterio
Отправлено: 22 Января, 2014 - 12:26:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




PHP:
скопировать код в буфер обмена
  1. echo '<td>'.(!empty($text) ? $text : '&nbps;').'</td>';


вместо $text вставить вашу переменную
 
 Top
maximatorrus
Отправлено: 22 Января, 2014 - 15:33:32
Post Id


Новичок


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


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




peters пишет:
Вы json откуда получаете? из БД генерируется ?


из файла, к примеру он :

CODE (htmlphp):
скопировать код в буфер обмена
  1. {"doctors":[
  2. {"district":"",
  3. "fio":"Андреева Любовь Александровна","room":"6","speciality":"Физиотерапевт",
  4. "schedule":[
  5. {"date":"21.01.2014","times":[{"from":"08:00","to":"16:00"}]},
  6. {"date":"22.01.2014","times":[{"from":"13:00","to":"16:00"},{"from":"08:00","to":"12:00"}]},
  7. {"date":"23.01.2014","times":[{"from":"08:00","to":"16:00"}]},
  8. {"date":"24.01.2014","times":[{"from":"08:00","to":"16:00"}]},
  9. {"date":"27.01.2014","times":[{"from":"08:00","to":"16:00"}]}]},
  10. {"district":"",
  11. "fio":"Андреева Любовь Александровна","room":"6","speciality":"Физиотерапевт",
  12. "schedule":[
  13. {"date":"21.01.2014","times":[{"from":"08:00","to":"16:00"}]},
  14. {"date":"22.01.2014","times":[{"from":"13:00","to":"16:00"},{"from":"08:00","to":"12:00"}]},
  15. {"date":"27.01.2014","times":[{"from":"08:00","to":"16:00"}]}]}]}


Как видно, во второй записи отсутствует несколько дат, времени, следовательно пустые ячейки получаются.
(Добавление)
esterio пишет:
PHP:
скопировать код в буфер обмена
  1. echo '<td>'.(!empty($text) ? $text : '&nbps;').'</td>';


вместо $text вставить вашу переменную


у меня foreach же
 
 Top
peters
Отправлено: 22 Января, 2014 - 15:50:43
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014  


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




Так вот, почему я спрашивал.
Сделать так как говорит esterio проблем нет, но!!!
Во второй записи у Вас съедет расписание, т.е. для второй записи времена скрипт запишет в столбцы с датами 21.01, 22.01 и 23.01, а остальные пустые оставит!!
А надо чтобы были заполнены столбцы 21.01,22.01, 27.01, а 23,24 оставить пустыми..

Поэтому я спрашиваю откуда берется json, есть ли возможность его получить в другом виде/переделать?
 
 Top
maximatorrus
Отправлено: 22 Января, 2014 - 15:56:02
Post Id


Новичок


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


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




peters пишет:
Так вот, почему я спрашивал.
Сделать так как говорит esterio проблем нет, но!!!
Во второй записи у Вас съедет расписание, т.е. для второй записи времена скрипт запишет в столбцы с датами 21.01, 22.01 и 23.01, а остальные пустые оставит!!
А надо чтобы были заполнены столбцы 21.01,22.01, 27.01, а 23,24 оставить пустыми..

Поэтому я спрашиваю откуда берется json, есть ли возможность его получить в другом виде/переделать?


Блин, точно, съезжает! Как я раньше то не заметил!! Не думаю, что есть возможность получить в другом виде. А без этого решить проблему нельзя? нужно обязательно переделывать инфу в jsonе?
 
 Top
eai
Отправлено: 22 Января, 2014 - 16:06:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009  
Откуда: Петроград


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




Сначала сделай массив двумерный в котором есть все ячейки таблицы
Потом используя foreach для JSON заполни те ячейки где есть значения
А уж потом на основе двумерного массива строй таблицу
 
 Top
peters
Отправлено: 22 Января, 2014 - 16:07:14
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014  


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




Что у Вас в переменной $decode2 ?
 
 Top
maximatorrus
Отправлено: 22 Января, 2014 - 17:39:08
Post Id


Новичок


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


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




eai пишет:
Сначала сделай массив двумерный в котором есть все ячейки таблицы
Потом используя foreach для JSON заполни те ячейки где есть значения
А уж потом на основе двумерного массива строй таблицу



хм, а в виде кода это как будет?! сейчас попробую
(Добавление)
в переменной распарсенный код jsonа
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"days":{"21.01.2014":"Ср","22.01.2014":"Ср","23.01.2014":"Ср","24.01.2014":"Ср","25.01.2014":"Ср"}}

(Добавление)
esterio пишет:
PHP:
скопировать код в буфер обмена
  1. echo '<td>'.(!empty($text) ? $text : '&nbps;').'</td>';


вместо $text вставить вашу переменную


Работает! проверил для district, он у нас пустой, поэтому срабатывает. А вот с датами путаница, их попросту нет.
 
 Top
peters
Отправлено: 23 Января, 2014 - 08:32:44
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014  


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




В общем, раз изменить json нельзя/невозможно, я бы действовал так:

1) Сначала пробегаемся по всему распарсенному json (по ВСЕМ врачам) и сохраняем в отдельный массив всевозможные даты в расписании (естественно даты должны быть без повторений, придется для каждой даты искать добавили ли мы ее в массив или нет)
п.с. этот массив и будет в итоге шапкой таблицы для столбцов, начиная с 4го

2) Когда выводим очередную строку (врача), когда доходим до расписания, смотри для каждого очередного столбца (который соответствует некой дате), если есть такая дата в расписании текущего врача, то выводим времена, если нет, то выводим &nbsp; или еще что-либо
 
 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