PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
Copy Clear
Copy Format Clear
<?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) die('Not allowed to call this page directly.'); add_action( 'init', 'archivedmmm_load_shortcodes' ); function archivedmmm_load_shortcodes ( ) { wp_enqueue_style('archivedmmm-css', plugins_url('css/style.css', __FILE__)); add_shortcode('archivedmmm_index', 'archivedmmm_index'); } function archivedmmm_index() { global $wpdb; $items_per_page = 50; $page = 1; if (isset($_GET['archive_page']) && intval(abs($_GET['archive_page'])) > 0) { $page = intval(abs($_GET['archive_page'])); } $fields = array( 'truck' => 58, 'truck_route' => 23, 'date_start' => 30, 'date_end' => 31, 'truck_type' => 77, 'cabotage' => 28, 'adr' => 20, 'driver_name' => 78, 'driver_phone' => 79, 'tractor' => 9, 'trailer' => 16, 'trailer_number' => 12, 'pallet' => 17, 'wood' => 18, 'country' => 86, 'city_code' => 39, 'city' => 41, 'description' => 27, 'load' => 25, // Загрузка ); $search = ''; $query_where_part = ''; $query_params = array(); if (isset($_GET['search']) && strlen(trim($_GET['search'])) > 1) { $search = addslashes(trim($_GET['search'])); $query_params = array($search,$search,$search,$search,$search,$search,$search,$search,$search,$search,$search,$search,$search,$search); $query_params = array_map(function($a) { return '%'.$a.'%'; }, $query_params); $query_where_part = "AND ( t2.meta_value LIKE %s OR t31.meta_value LIKE %s OR t6.meta_value LIKE %s OR t7.meta_value LIKE %s OR t8.meta_value LIKE %s OR t9.meta_value LIKE %s OR t10.meta_value LIKE %s OR t11.meta_value LIKE %s OR t12.meta_value LIKE %s OR t13.meta_value LIKE %s OR t14.meta_value LIKE %s OR t15.meta_value LIKE %s OR t16.meta_value LIKE %s OR t17.meta_value LIKE %s )"; $total_items_query = $wpdb->prepare(" SELECT count( DISTINCT t1.item_id) as `total_items` FROM `" . $wpdb->prefix . "frm_item_metas` t1 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t2 ON t1.meta_value = t2.item_id AND t2.field_id = " . $fields['truck'] . " LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t3 ON t1.meta_value = t3.item_id AND t3.field_id = " . $fields['trailer'] . " LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t31 ON t3.meta_value = t31.item_id AND t31.field_id = 81 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t6 ON t1.item_id = t6.item_id AND t6.field_id = 88 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t7 ON t1.item_id = t7.item_id AND t7.field_id = 26 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t8 ON t1.meta_value = t8.item_id AND t8.field_id = ".$fields['tractor']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t9 ON t1.item_id = t9.item_id AND t9.field_id = 91 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t10 ON t1.item_id = t10.item_id AND t10.field_id = ".$fields['date_start']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t11 ON t1.item_id = t11.item_id AND t11.field_id = ".$fields['date_end']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t12 ON t1.item_id = t12.item_id AND t12.field_id = 38 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t13 ON t1.item_id = t13.item_id AND t13.field_id = 40 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t14 ON t1.item_id = t14.item_id AND t14.field_id = ".$fields['country']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t15 ON t1.item_id = t15.item_id AND t15.field_id = ".$fields['city']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t16 ON t1.item_id = t16.item_id AND t16.field_id = ".$fields['city_code']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t17 ON t1.item_id = t17.item_id AND t17.field_id = 85 WHERE t1.field_id = ".$fields['truck_route']." ".$query_where_part." ", $query_params); //echo $total_items_query; $total_items = $wpdb->get_var($total_items_query); } else { $total_items = $wpdb->get_var(" SELECT count(*) as `total_items` FROM `" . $wpdb->prefix . "frm_item_metas` WHERE `field_id`='" . $fields['truck_route'] . "' "); } $total_pages = ceil($total_items / $items_per_page); $page = min($total_pages, $page); if ($total_items > 0) { $items_query = $wpdb->prepare(" SELECT t1.item_id as item_id, t2.meta_value as truck_name, t31.meta_value as trailer_type, t4.meta_value as `k`, t5.meta_value as `adr`, t6.meta_value as `driver`, t7.meta_value as `order`, t8.meta_value as `truck`, t9.meta_value as `trailer`, t10.meta_value as `upload_date`, t11.meta_value as `download_date`, t12.meta_value as upload_country, t17.meta_value as upload_city_code, t13.meta_value as `upload_address`, t14.meta_value as download_country, t16.meta_value as download_city_code, t15.meta_value as `download_address` FROM `" . $wpdb->prefix . "frm_item_metas` t1 LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t2 ON t1.meta_value = t2.item_id AND t2.field_id = " . $fields['truck'] . " LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t16 ON t1.item_id = t16.item_id AND t16.field_id = ".$fields['city_code']." LEFT JOIN `" . $wpdb->prefix . "frm_item_metas` t17 ON t1.item_id = t17.item_id AND t17.field_id = 85 WHERE t1.field_id = ".$fields['truck_route']." ".($query_where_part ? $query_where_part : '')." GROUP BY t1.item_id ORDER BY t1.item_id DESC LIMIT ".$items_per_page." OFFSET ".(($page-1) * $items_per_page)." ", $query_params); $items = $wpdb->get_results($items_query); } else { $items = array(); } ?> <div class="archivedmm__container"> <p>Total: <?=$total_items?></p> <table class="archivedmm__table"> <tbody> <?php if ($total_items > 0): ?> <?php foreach ($items as $item): ?> <tr> <td><?php echo $item->k ?></td> </tr> <?php endforeach; ?> <?php else: ?> <tr> </tr> <?php endif; ?> </tbody> </table> <?php if ($total_pages > 1):?> <div class="archivedmm__pagination"> <a <?php if ($page != 1):?>href="?archive_page=1<?php echo $search != '' ? '&search='.$search : '' ?>"<?php endif;?> class="<?php echo $page == 1 ? 'active' : ''?>">1</a> <?php echo (max(2, $page - 5) !== 2) ? '...' : '' ?> <?php for($i = max(2, $page - 5); $i <= min($total_pages-1, $page + 5); $i++): ?> <a <?php if ($page != $i):?>href="?archive_page=<?php echo $i?><?php echo $search != '' ? '&search='.$search : '' ?>"<?php endif;?> class="<?php echo $page == $i ? 'active' : ''?>"><?php echo $i ?></a> <?php endfor; ?> <?php echo min($total_pages-1, $page + 5) !== $total_pages-1 ? '...' : '' ?> <a <?php if ($page != $total_pages):?>href="?archive_page=<?php echo $total_pages?><?php echo $search != '' ? '&search='.$search : '' ?>"<?php endif;?> class="<?php echo $page == $total_pages ? 'active' : ''?>"><?php echo $total_pages ?></a> </div> <?php endif ?> </div> }
Show:  
Copy Clear