Модераторы: PILOT
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с построничным выводом таблици, Собрать конструктор 
:(
    Опции темы
akimovaleks
Дата 24.9.2014, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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;
}
?>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Объявления о найме специалистов"
BearBeer
  • Придерживайтесь правил форума.

  • Если вы предлагаете НЕ удалённую работу, то

    название города и фирмы обязательно указывать уже в названии темы(!)

  • Одна вакансия - одна тема.

    Вам будет удобней следить за ответами, ищущим работу - выбирать.


  • В случае, если у нас возникнут обоснованные подозрения

    о неблагонадежности Вашего электронного адреса, ваш аккаунт будет удалён, а доступ к форуму запрещён!


  • Хотите быстрее найти специалиста? Разместите тогда ваше объявление вверху всех страниц сайта! Тогда его будут ежедневно видеть более 4000 программистов! Обратите внимание на верхний левый угол сайта - там вы найдете дополнительные инструкции при клике на линк.

В случае невыполнения данных правил Ваши сообщения могут быть удалены без предупреждения.


Полный спискок правил. С уважением, BearBeer.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Объявления о найме специалистов | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.