Новичок
Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.3.2010
Репутация: нет Всего: нет
|
Добрый день ребята подскажите как сделать построничный вывод таблици... есть уже готовый скрипт в нем надо подправить. PHP код | Код | <? if(!isset($_SESSION['loginned'])){ $tpl->load_tpl('info.tpl'); $tpl->tpl_set( '{error}', $dictionary['info'][3] ); $tpl->tpl_set( '{info}', '' ); $tpl->tpl_set( '{other}', '' ); } else{ $tpl->load_tpl('show_orders.tpl'); $tpl->tpl_set( '{error}', '' ); $tpl->tpl_set( '{info}', '' ); //загружаем список статусов $status_arr = $main_config['statuses']; $status_list = create_dropdown($status_arr,'key'); //загружаем список клиентов $result = $mysql->query( "SELECT * FROM " . PREF . "_clients"); while ( $row = mysql_fetch_array ($result) ) { $client_arr[$row['id']] = $row['name']; } $client_list = create_dropdown($client_arr,'key'); //загружаем список мастеров $result = $mysql->query( "SELECT * FROM " . PREF . "_users"); while ( $row = mysql_fetch_array ($result) ) { $users_arr[$row['id']] = $row['name']; } $users_list = create_dropdown($users_arr,'key'); $tpl->tpl_set( '{client_list}', $client_list ); $tpl->tpl_set( '{status_list}', $status_list ); $tpl->tpl_set( '{expert_list}', $users_list ); $tpl->tpl_set( '{acceptor_list}', $users_list );
// выводим список заказов: // if ($_SESSION['usergroup'] == 7){ $where = ''; // } // else // $where = 'WHERE status IN (1,2,3)'; $result = $mysql->query( "SELECT * FROM " . PREF . "_orders $where ORDER BY status, id DESC"); if( preg_match('~\[orders\](.*?)\[\/orders\]~si',$tpl->template,$matches) ){ $row_tpl = $matches[1]; } if($result){ while ( $row = mysql_fetch_array ($result) ) { $this_row_tpl = $row_tpl; $row['display_aebutton'] = 'none'; $row['display_ardbutton'] = 'none'; $row['display_artbutton'] = 'none'; switch($row['status']){ case 1: $row['display_aebutton'] = 'inline-block'; break; case 2: $row['display_ardbutton'] = 'inline-block'; break; case 3: $row['display_artbutton'] = 'inline-block'; break; } $row['status_color'] = $main_config['status_color'][$row['status']]; $row['status_class'] = $main_config['status_class'][$row['status']]; $row['status'] = $main_config['statuses'][$row['status']]; $row['client'] = $client_arr[$row['client']]; $row['expert'] = $users_arr[$row['expert']]; $row['acceptor'] = $users_arr[$row['acceptor']]; foreach($row as $key=>$value){ $this_row_tpl = str_replace('{'.$key.'}',$value,$this_row_tpl); } $full_tpl .= $this_row_tpl; } $tpl->template = preg_replace('~\[orders\].*?\[\/orders\]~si',$full_tpl,$tpl->template); $full_tpl = ''; $tpl->template = str_replace('[table]','',$tpl->template); $tpl->template = str_replace('[/table]','',$tpl->template); }else{ $tpl->tpl_set( '{error}', $dictionary['info'][11] ); $tpl->template = preg_replace('~\[table\].*?\[\/table\]~si','',$tpl->template); } }//end ELSE $tpl->tpl_save(); $tpl->tpl_complate( 'content' ); $page_title = $main_config['home_title'] . ' - ' . $dictionary['page'][8]; ?>
|
TPL фаил | Код | [table] <table class="table table-striped table-hover"> <thead> <tr class="warning"> <th>ID</th> <th>Статус</th> <th>Клиент</th> <th>Заявка</th> <th>Дата приема</th> <th>Дата выполнения</th> <th>Кто принял</th> <th>Исполнитель</th> <th>Комментарий</th> <th>Сумма</th> <th></th> </tr> </thead> <tbody> [orders] <tr id="tr_{id}"> <td>{id}</td> <td id="td_status_{id}"><span class="{status_class}">{status}</span></td> <td id="td_client_{id}"> <div>{client}</td> <td id="td_order_{id}"> <div>{order_descr}</div> </td> <td> <div>{add_date}</div> </td> <td id="td_returndate_{id}"> <div>{return_date}</div> </td> <td id="td_acceptor_{id}"><div>{acceptor}</div></td> <td id="td_expert_{id}"><div>{expert}</div></td> <td id="td_comment_{id}"><div>{comment}</div></td> <td id="td_amount_{id}">{amount}</td> <td> <nav class="w60"> <a onClick="load_form('edit_order','{id}');" title="изменить параметры заявки"> <span class="glyphicon glyphicon-pencil"></span> </a> <a onClick="load_form('delete_order','{id}'); " title="удалить заявку"> <span class="glyphicon glyphicon-remove"></span> </a> <a id="ae_button_{id}" onClick="load_form('add_expert','{id}', 2);" title="взять в работу" style="display:{display_aebutton};"> <span class="glyphicon glyphicon-time"></span> </a> <a id="ard_button_{id}" onClick="load_form('add_expert','{id}', 3);" title="заявка готова" style="display:{display_ardbutton};"> <span class="glyphicon glyphicon-ok"></span> </a> </nav> </td> </tr> [/orders] </tbody> <tfoot> <tr class="warning"> <th>ID</th> <th>Статус</th> <th>Клиент</th> <th>Заявка</th> <th>Дата приема</th> <th>Дата выполнения</th> <th>Кто принял</th> <th>Исполнитель</th> <th>Комментарий</th> <th>Сумма</th> <th></th> </tr> </tfoot> </table>
<div id="MyHint"></div> [/table]
|
functions.php | Код | <? function pagination($num_pages,$current_page,$near_pages,$url,$type=0){ $min_page = $current_page - $near_pages; //определяем минимальную страницу $max_page = $current_page + $near_pages; //определяем максимальную страницу if($min_page < $near_pages){$min_page = 1;} //ограничиваем минимальную страницу if($max_page > $num_pages){$max_page = $num_pages;} //ограничиваем максимальную страницу switch($type){ case 1: $urlpart = '&page='; break; default: $urlpart = '/page/'; break; } for($i=$min_page; $i<($max_page+1); $i++){ //формируем центральные ссылки на страницы $href = '/'.$url.$urlpart.$i; $pages .="| <a href='$href'>$i</a> |"; } //"обвешиваем" справа и слева if($current_page > ($near_pages+2) ) {$pages = '|...|'.$pages;} if($current_page > ($near_pages+1) ) {$pages = '| <a href=\'/' .$url.$urlpart. '/1\'>1</a> |' . $pages;} if($current_page < ($num_pages - $near_pages -1)){$pages .= '|...|';} if($current_page < $num_pages - $near_pages){$pages .= '| <a href=\'/' .$url.$urlpart.$num_pages. '\'>'.$num_pages.'</a> |';} $pages = str_replace('||','|',$pages); //убираем лишние символы return $pages; }
function sterialize($string){ $string = mysql_escape_string($string); $string = htmlspecialchars($string); //$string = strip_tags($string); return $string; }
function save_arrinfile2($arr,$arrname,$filename){ if( !is_array($arr) ) {return false;} else{ $filename = $_SERVER['DOCUMENT_ROOT'].'/config/'.$filename; $strtofile = "<?\n\$$arrname = ".var_export($arr,TRUE); $strtofile .= ";\n?>"; file_put_contents($filename,$strtofile); return true; } }
function arr_del_empty($arr,$strlen=0,$dot=true){ if(is_array($arr)){ foreach($arr as $key => $value){ $value = trim($value); if($value!='' and mb_strlen($value,'UTF-8')>$strlen){ $newarr[$key] = $value; } } return $newarr; } else{ return 'ERROR "arr_del_empty" => argument is not ARRAY!<br>'; } }
function clear_str($str){ $str = preg_replace('/[^\—\s\w\.;!?\-:_\"\'\)\[\]\(]/si','',$str); $str = preg_replace('/\s{2,}/si',' ',$str); //удаляем лишние пробелы return $str; }
function full_clearing($string,$allowed=''){ $pattern = '/[^a-z0-9а-я'.$allowed.']/si'; $string = preg_replace($pattern,'',$string); return $string; }
function array_callback($string){ $string = trim($string); return $string; } function dotrans($str,$strlow = true,$deltrash = true) { if ( is_array($str) ) { $str=pos($str); } if ( is_array($str) ) { return ''; } $tabl_trans = array( 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'e', 'ж' => 'j', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'u', 'ъ' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ya', 'ї' => 'yi', 'є' => 'ye', 'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E', 'Ж' => 'J', 'З' => 'Z', 'И' => 'I', 'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'U', 'Ъ' => '', 'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya', 'Ї' => 'Yi', 'Є' => 'Ye', );
$str = trim( strip_tags( $str ) ); $str = preg_replace( '/\s+/i', '_', $str ); $str = strtr($str, $tabl_trans); if ($deltrash) {$str = preg_replace( '/[^a-z0-9_-]+/i', '', $str );} if ($strlow) {$str = strtolower($str);} return $str; }
function create_options($array,$val='val',$sel=0){ if(!is_array($array)){ return false; }else{ $result = ''; $selected = ''; foreach($array as $key=>$text){ if($val=='key'){$value = $key;} else{$value = $text;} if($key == $sel){$selected = ' selected';} else{$selected = '';} $result .= '<option value="'.$value.'"'.$selected.'>'.$text.'</option>'; } } return $result; }
function date_for_post($date){ $timestamp = strtotime($date); $this_time = time(); $diff = $this_time - $timestamp; if($diff >= 86400){ $day = date('j',$timestamp); $month = date('m',$timestamp); $time = date('H:i',$timestamp); switch($month){ case '01': $month = 'января'; break; case '02': $month = 'февраля'; break; case '03': $month = 'марта'; break; case '04': $month = 'апреля'; break; case '05': $month = 'мая'; break; case '06': $month = 'июня'; break; case '07': $month = 'июля'; break; case '08': $month = 'августа'; break; case '09': $month = 'сентября'; break; case '10': $month = 'октября'; break; case '11': $month = 'ноября'; break; case '12': $month = 'декабря'; break; } $dateforpost = "$day $month, $time"; } elseif($diff < 60){ $dateforpost = 'только что'; } else{ $hours = floor($diff/3600); $minutes = floor(($diff-$hours*3600)/60); if($hours > 0){ if($minutes >= 60){$hours++; $minutes = 0;} $dateforpost = $hours.' '.get_str_end($hours,2).' '; } if($minutes > 0){ $dateforpost .= $minutes.' '.get_str_end($minutes,1); } $dateforpost .= ' назад'; } return $dateforpost; }
function from_reg_date($date){ $timestamp = strtotime($date); $this_time = time(); $diff = $this_time - $timestamp; if($diff < 60*60*24*31){ $reg_time = 'меньше месяца'; } else{ $years = floor( $diff/(60*60*24*365) ); $months = floor( ($diff-($years*60*60*24*365))/(60*60*24*31) ); if($years > 0){ if($months >= 12){$years++; $months = 0;} $reg_time = $years.' '.get_str_end($years,4).' '; } if($months > 0){ $reg_time .= $months.' '.get_str_end($months,3); } } return $reg_time; }
function get_str_end($int,$type=0) { $words[0] = array('ответ','ответа','ответов'); $words[1] = array('минута','минуты','минут'); $words[2] = array('час','часа','часов'); $words[3] = array('месяц','месяца','месяцев'); $words[4] = array('год','года','лет'); $int = abs($int) % 100; $n1 = $int % 10; $result = $words[$type][2]; if($int > 10 && $int < 20) {$result = $words[$type][2];} elseif ($n1 > 1 && $n1 < 5) {$result = $words[$type][1];} elseif ($n1 == 1){$result = $words[$type][0];} return $result; }
function create_dropdown($array,$select=false,$type=1){ if(!is_array($array)){return false;} $options = ''; foreach($array as $key=>$value){ $selected = ''; if(is_array($value)){$value = current($value);} if(!empty($select)){ if($type==1 and $select==$key){$selected = ' selected';} elseif($select==$value){$selected = ' selected';} } if($type == 1){$options .= '<option value="'.$key.'"'.$selected.'>'.$value.'</option>';} else{$options .= '<option value="'.$value.'"'.$selected.'>'.$value.'</option>';} } return $options; } ?>
|
|