Всем привет!!!!! PHP: <?php defined('_JEXEC') or die; abstract class ModTiming2Helper { public static function getList() { if (date('Y-m-d',strtotime("0 day")) == date('Y-m-d',strtotime("Monday"))) : $lm = strtotime("Monday"); else : $lm = strtotime("Last Monday"); endif; if(isset($_GET["date"])){ $cdate = date('Y-m-d',strtotime($_GET["date"]." day",$lm)); } else { $cdate = date("Y-m-d"); } $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('title','time','date','category')); $query->from('timing'); $query->where('date = \''.$cdate.'\''); // $query->order('date ASC'); $query->order('time ASC'); $db->setQuery($query); $results = $db->loadObjectList(); $before6 = array(); $after6 = array(); foreach($results as $val){ $time = explode(":",$val->time); $time = (int)$time[0]; if($time<6){ $before6[] = $val; } else { $after6[] = $val; } } $results = array_merge($after6,$before6); return $results; } } PHP: <?php defined('_JEXEC') or die; function getMounth($time) { if (date('M',$time)=='Jan') {$month='.01';} if (date('M',$time)=='Feb') {$month='.02';} if (date('M',$time)=='Mar') {$month='.03';} if (date('M',$time)=='Apr') {$month='.04';} if (date('M',$time)=='May') {$month='.05';} if (date('M',$time)=='Jun') {$month='.06';} if (date('M',$time)=='Jul') {$month='.07';} if (date('M',$time)=='Aug') {$month='.08';} if (date('M',$time)=='Sep') {$month='.09';} if (date('M',$time)=='Oct') {$month='.10';} if (date('M',$time)=='Nov') {$month='.11';} if (date('M',$time)=='Dec') {$month='.12';} return $month; } function getWeek($time) { if (date('D',$time)=='Wed') {$wday=JText::_('SREDA');} if (date('D',$time)=='Mon') {$wday=JText::_('PON');} if (date('D',$time)=='Sun') {$wday=JText::_('BOS');} if (date('D',$time)=='Tue') {$wday=JText::_('VTOR');} if (date('D',$time)=='Fri') {$wday=JText::_('PYAT');} if (date('D',$time)=='Sat') {$wday=JText::_('SUBB');} if (date('D',$time)=='Thu') {$wday=JText::_('CHET');} return $wday; } ?> <div id="timetable_data" style="clear: both;"> <section class="timetable_all"> <table style="width:100%; background-color:#FFFFFF;border: 3px solid #cfcfcf;font-size: 14px;"> <tbody> <tr class="tptimetable"> <?php if (date('Y-m-d',strtotime("0 day")) == date('Y-m-d',strtotime("Monday"))) : $lm = strtotime("Monday"); else : $lm = strtotime("Last Monday"); endif; // echo date("Y-m-d H:i:00",$lm); $month1 = getMounth($lm); $month = getMounth(strtotime("6 day",$lm)); if ($month1 <> $month) : //echo '<th class="timetable_date">'.date('j',$lm).' '.$month1.'<br />'.date('j',strtotime("6 day",$lm)).' '.$month.'</th>'; else : //echo '<th class="timetable_date">'.date('j',$lm).'-'.date('j',strtotime("6 day",$lm)).' '.$month.'</th>'; endif; for ($q='0'; $q<7; $q++) { $wday = getWeek(strtotime("$q day",$lm)); $month = getMounth(strtotime("$q day",$lm)); $wdd=date('d',strtotime("$q day",$lm)); $wdm=$month; if(isset($_GET["date"])){ if (date('Y-m-d',strtotime("$q day",$lm)) == date('Y-m-d',strtotime($_GET["date"]." day",$lm)) && date("H:i:00",strtotime("$q day",$lm)) < date("H:i:00",strtotime($_GET["date"]." day 05:00:00",$lm))) : echo '<th class="dn active">'; else : echo '<th class="dn">'; endif; } else { if (date('Y-m-d',strtotime("$q day",$lm)) == date("Y-m-d") && date("H:i:00",strtotime("$q day",$lm)) < date("H:i:00", "05:00:00")) : echo '<th class="dn active">'; else : echo '<th class="dn">'; endif; } echo '<a class="getTimeTable" href="'.JURI::getInstance()->toString(array('scheme', 'user', 'pass', 'host', 'port', 'path', 'fragment')).'?date='.$q.'" data-date="'.date('Y-m-d',strtotime("$q day",$lm)).'"><div class="sss">'.$wday.'</div><div class="select_date">'.$wdd.''.$wdm.'</div></a>'; echo '</th>'; } ?> </tr> <tr class="row"> <td style="padding-top:10px;" class="timetable_title beforeNow" colspan="8"> <?php $time = date("H:i:00", "05:00:00"); foreach ($list as $item) : if (date("H:i:00") < $item->time & date("H:i:00") > $time) : break; endif; $time = $item->time; endforeach; foreach ($list as $item) : if ($item->time == $time and (!$_GET["date"])) : echo '<li class="actv"><img src="images/time-bg-activ.png"><span class="time_tele">'.date('H:i', strtotime($item->time)).'</span><span class="titletime_tele">'.$item->title.'</span> <div class="premer">'.$item->category.' </span></li>'; else : echo '<li class="neactv"><img src="images/time-bg.png"><span class="time_tele">'.date('H:i', strtotime($item->time)).'</span><span class="titletime_tele">'.$item->title.'</span><span class="premer">'.$item->category.'</span> </li>'; endif; endforeach; ?> </td> </tr> </tbody> </table> </section> </div> Это код от джумла модуля,надо подпилить в 1 файл. Таблица в базе timing id | time | date | title попробовал так************************ PHP: <?php $host='localhost'; $database='db'; $user='user'; $pswd=''; $dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysql_set_charset('utf8',$dbh); mysql_select_db($database) or die("Не могу подключиться к базе."); $query = "Select * from timing order by date ASC, time ASC"; $res = mysql_query($query); while($row = mysql_fetch_array($res)) { echo $row['date']."<br>"; echo $row['time']."<br>"; echo $row['title']."<br>"; } ?> Result: сортировка по дате и времени работает,но отображается все даты. 2016.11.03 15:00 Title1 2016.11.03 15:01 Title2 2016.11.03 15:02 Title3 2016.11.03 15:03 Title4 2016.11.03 15:04 Title5 2016.11.03 15:05 Title6 2016.11.04 15:06 Title7 2016.11.05 15:07 Title8 А мне надо их делить на 7 дней,вот так 1колонка 2016.11.03 15:00 Title1 2016.11.03 15:01 Title2 2016.11.03 15:02 Title3 2016.11.03 15:03 Title4 2016.11.03 15:04 Title5 2016.11.03 15:05 Title6 2 колонка 2016.11.04 15:06 Title7 3 колонка 2016.11.05 15:07 Title8 Если добавить GROUP BY `date` то показывает только один результат 2016.11.03 15:00 Title1 2016.11.04 15:06 Title7 2016.11.05 15:07 Title8 итд
И то и другое)) --- Добавлено --- просто 3 дня уже,без результатов --- Добавлено --- могу сюда sql готовый загрузить,если это вам экономить время --- Добавлено --- еще готовый код,правда не работает почему то PHP: <div id="timetable_data"> <section class="timetable_all"> <table> <tr class="tptimetable"> <td class="timetable_date"> CET <br> GMT +0 </td> <td class="timetable_date"> Moscow <br> GMT +2 </td> <?php $active_day = ''; for ($mon_num = 1; $mon_num < 8; $mon_num++) { if (date('Y-m-d', $monday) == $date) { $active_day = "class='active'"; } ?> <td <?=$active_day?>> <a class="getTimeTable" href="?date=<?=date('Y-m-d', $monday);?>" data-date="<?=date('Y-m-d', $monday);?>"><?=Yii::app()->dateFormatter->format('EE', $monday)?> <div class="select_date"> <?=Yii::app()->dateFormatter->format('d', $monday)?> <?=Yii::app()->dateFormatter->format('MMMM', $monday)?></div> </a> </td> <?php $monday += 86400; } ?> </tr> <!-- <tr>--> <!-- <th class="time_0">GMT +0</th>--> <!-- <th class="time_2">GMT +2</th>--> <!-- <th class="time_5">GMT +5</th>--> <!-- <th class="noborder" colspan="7"> </th>--> <!-- </tr>--> <?php foreach ($programs as $program) { $onAirClass = ''; if ($program->id == $onAirProgram->id) { $onAirClass = 'active'; } $beforeClass = ''; if (($program->time < $onAirProgram->time && $program->date <= $onAirProgram->date)) { $beforeClass = "beforeNow"; } ?> <tr class="row langId<?=$program->content->lang_id ?>"> <td class="time_value"><div id="time_value"><?=Yii::app()->dateFormatter->format('H:mm', (strtotime($program->time) - 3600 * 4))?></div></td> <td class="time_value"><div id="time_value"><?=Yii::app()->dateFormatter->format('H:mm', (strtotime($program->time) - 3600 * 3))?></div></td> <td class="time_value"><div id="time_value3"><?=Yii::app()->dateFormatter->format('H:mm', strtotime($program->time))?></div></td> <td class="timetable_title <?=$onAirClass?> <?=$beforeClass?>" colspan="7"> <?php if ($program->content !== null) { ?> <div class="program_content"> <h2> <a href="<?=Yii::app()->createUrl('/programms/default/program', array('sefname' => $program->content->sefname))?>"><?=$program->title?></a> </h2> <div class="description"> <div class="img"> <?php $image = ProgrammsContent::getAnounceImg($program->content->image, '104_'); ?> <img src="<?=$image?>" width="130" alt=""> </div> <div class="short_text"><?=$program->content->short_text?></div> </div> </div> <?php } else { echo $program->title; } ?> </td> <?php } ?> </tr> </table> Это код от Yii
с датами в php умеешь работать? https://secure.php.net/manual/ru/class.datetime.php вот например с datetime можно через format получить только день, в цикле писать день в временную переменную и если она различается от дня полученного через format значит день сменился и можно выводить что тебе надо при изменении дня. тогда задавай вопросы, или можешь открыть тему в free-lance и за деньги найти кто тебе сделает, ещё вариант в раздел "сделайте за меня" перенести тему --- Добавлено --- делай отладку http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550 ну он не сильно нужен, только посмотреть на твой результаты, у тебя есть результат с датами из таблицы, отсортируй чтобы по дням и в цикле при их выводе как я писал, просто когда день сменился, выводи что тебе нужно