рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдЯреЗрдмрд▓ рдЫрдБрдЯрд╛рдИ

рд╢реБрдн рджрд┐рди, рдЦрд╛рдмрд░реЛрд╡рдЪреЗрдиред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд╛рдиреАрдп рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд▓реЗрдЦ рдмрд╣реБрдд рдЙрдмрд╛рдК рдФрд░ "рдФрд░ рдЗрддрдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ," рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдХрд┐рд╕реА рддрд░рд╣ рдореБрдЭреЗ рдЯреЗрдмрд▓ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрд▓рдо рдореЗрдВ рдЫрд╛рдБрдЯрдиреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд░ рдмрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓рд╛рднрд╣реАрди рдерд╛, рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдорд╛рдореВрд▓реА рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдереАрдВ, рдЕрд░реНрдерд╛рддреН рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдерд╛ред
рд╢реИрд▓реА рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ред рдХреМрди рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред


рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
1) рдЕрдЧрд░ рд╕рдордп <2012 - рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдмреИрдХрд▓рд╛рдЗрдЯ
2) рдпрджрд┐ рджреВрд░реА> 9000 рд╣реИ - рдмреИрдХрд▓рд╛рдЗрдЯ рдкреАрд▓рд╛ рд╣реИред
*) рдмрд╛рдХреА рдмрд╛рд░реА рдЧреНрд░реЗ рдХреЗ рд╕рд╛рде рд╕рдлреЗрдж рд╣реИред

рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, php рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдпрд╣ рд╕рдордп UNIX рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИ, рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ "рдЯрд╛рдЗрдо" рдХреЙрд▓рдо рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рд╣рдо рдРрд╕реЗ рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

var TableSort = function (idTbl, defSortCol, firstRow, classes) { //  ,     ,   0 var curSortCol = defSortCol; //  ,    ,   ,   0 var curImgCol = defSortCol; //    var curSortUp = true; // id ,     var curIdTbl = idTbl; //  ,    ,   0 var numColTr = (firstRow == null) ? 1 : firstRow; //       if (classes == null) { var style = false; } else { var style = true; //  ,    var needClasses = classes[0]; //  ,   var listClasses = classes[1]; } var tbl = document.getElementById(curIdTbl); var allImgs = new Array(); // all imgs-arrow allThs = tbl.getElementsByTagName('tr').item(0).getElementsByTagName('th'); for (i=0; i<allThs.length; i++){ if (allThs.item(i).getElementsByTagName('img') != null) { allImgs[i] = allThs.item(i).getElementsByTagName('img').item(0); } else { allImgs[i] = null; } } var tblData = new Array(); // current data in table //     newCol,     imgCol this.initSort = function (newCol, imgCol) { if (newCol == curSortCol) { //    ,     curSortUp = !curSortUp; } else { //     curSortCol = newCol; curImgCol = (imgCol == null) ? newCol : imgCol; curSortUp = true; } showArrow(); getDataTable(); showSortTable(); if (style) { doStyle(); } }; // show/change arrow function showArrow(){ for (i=0; i<allImgs.length; i++){ if (allImgs[i] != null) { if (i == curImgCol) { allImgs[i].style.visibility = "visible"; if (curSortUp) { allImgs[i].src = "./img/up.png"; } else { allImgs[i].src = "./img/down.png"; } } else { allImgs[i].style.visibility = "hidden"; } } } } // get new data from table function getDataTable() { allTrs = tbl.getElementsByTagName('tr'); for (i=numColTr; i<allTrs.length; i++){ tblData[i-numColTr] = new Array(); for (j=0; j<allTrs[i].getElementsByTagName('td').length; j++) { tblData[i-numColTr][j] = allTrs[i].getElementsByTagName('td').item(j).innerHTML; } if (style) { tblData[i-numColTr][allTrs[i].getElementsByTagName('td').length]=allTrs[i].className; } } tblData.sort(_sort); if (!curSortUp) { tblData.reverse(); } } // rules for sorting function _sort(a1, b1) { var a = a1[curSortCol]; var b = b1[curSortCol]; if (parseFloat(a) && parseFloat(b)) { return parseFloat(a) - parseFloat(b); } else { if (a.toLowerCase() < b.toLowerCase()) { return -1; } else if (a.toLowerCase() > b.toLowerCase()) { return 1; } else { return 0; } } } function showSortTable() { allTrs = tbl.getElementsByTagName('tr'); for (i=numColTr; i<allTrs.length; i++){ for (j=0; j<allTrs[i].getElementsByTagName('td').length; j++) { allTrs[i].getElementsByTagName('td').item(j).innerHTML = tblData[i-numColTr][j]; } if (style) { allTrs[i].className=tblData[i-numColTr][allTrs[i].getElementsByTagName('td').length]; } } } function doStyle(){ allTrs = tbl.getElementsByTagName('tr'); for (i=numColTr; i<allTrs.length; i++){ if (allTrs[i] == null) { continue; } if(needClasses.indexOf(allTrs[i].className) != -1) { continue; } allTrs[i].className = listClasses[(i % listClasses.length)]; } } } 

рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдБ:
 var infoTblSort = new TableSort("idTbl", 0, 1, [['add', 'edd'],['odd', '']] ); 

рд╡рд╛рдВрдЫрд┐рдд рдХреЙрд▓рдо рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рдЬреЛрдбрд╝реЗрдВ:
 onclick="infoTblSort.initSort(4,3);" 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 2 рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдкрд╣рд▓рд╛ - рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдЬрд╛рдПрдЧрд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдпреВрдирд┐рдХреНрд╕-рдЯрд╛рдЗрдо рдХреЙрд▓рдо рд╣реИ), рджреВрд╕рд░рд╛ - рдПрдХ рдХреЙрд▓рдо рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрд╕реНрд╡реАрд░ рд╣реЛрдЧреА рдЬреЛ рдкрд╛рда рдХреА рджрд┐рд╢рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рд╣реИ ред

рдпрд╣ рд╕рдм, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореИрдВ рдХреБрдЫ рднреНрд░рдорд┐рдд рдХрд╣рд╛рдиреА рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ, рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In137426/


All Articles