Advertisement
kolarov

SoftuniTunes

Jan 8th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.52 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. $text = $_GET['text'];
  5. $nameInput = $_GET['artist'];
  6. $property = $_GET['property'];
  7. echo $property;
  8. $order = $_GET['order'];
  9.  
  10. $lines = preg_split('/[\n\r]+/',$text);
  11.  
  12. foreach ($lines as $key => $match) {
  13.  
  14.     $ckech =  strpos($match,$nameInput);
  15.  
  16.     if($ckech==0){
  17.         unset($lines[$key]);
  18.     }
  19.  
  20. }
  21.  
  22.  
  23. $unsortedArray = [];
  24. $count = 0;
  25. foreach ($lines as $elements) {
  26.  
  27.  
  28.     $splited = preg_split('/ \| /',$elements);
  29.    
  30.     $unsortedArray[$count]['name'] = $splited[0];
  31.     $unsortedArray[$count]['genre'] = $splited[1];
  32.     $unsortedArray[$count]['artists'] = $splited[2];
  33.     $unsortedArray[$count]['downloads'] = $splited[3];
  34.     $unsortedArray[$count]['rating'] = $splited[4];
  35.  
  36.     $count++;
  37.  
  38. }
  39.  
  40. $sortedArray = columnSort($unsortedArray,$property,$order);
  41.  
  42. echo "<table>\n";
  43. echo "<tr><th>Name</th><th>Genre</th><th>Artists</th><th>Downloads</th><th>Rating</th></tr>\n";
  44. foreach ($sortedArray as $array) {
  45.  
  46.     $stringNames = $array['artists'];
  47.    $sortedNames =  sortNames($stringNames);
  48.  
  49.     echo "<tr>";
  50.     echo "<td>".htmlspecialchars($array['name'])."</td>";
  51.     echo "<td>".htmlspecialchars($array['genre'])."</td>";
  52.     echo "<td>".htmlspecialchars($sortedNames)."</td>";
  53.     echo "<td>".htmlspecialchars($array['downloads'])."</td>";
  54.     echo "<td>".htmlspecialchars($array['rating'])."</td>";
  55.     echo "</tr>\n";
  56.  
  57. }
  58.  
  59. echo "</table>\n";
  60.  
  61. function sortNames($names){
  62.  
  63.     $namesArr = preg_split('/,/',$names);
  64.  
  65.     $trimedArr = array_map('trim',$namesArr);
  66.     asort($trimedArr);
  67.  
  68.     $submited =  implode(", ",$trimedArr);
  69.  
  70.     return $submited;
  71. }
  72.  
  73. function columnSort($unsortedArray, $column,$sequence) {
  74.     $sorted = $unsortedArray;
  75.  
  76.     if($sequence=="ascending") {
  77.         for ($i = 0; $i < sizeof($sorted) - 1; $i++) {
  78.             for ($j = 0; $j < sizeof($sorted) - 1 - $i; $j++)
  79.                 if ($sorted[$j][$column] > $sorted[$j + 1][$column]) {
  80.                     $tmp = $sorted[$j];
  81.                     $sorted[$j] = $sorted[$j + 1];
  82.                     $sorted[$j + 1] = $tmp;
  83.                 }
  84.         }
  85.         return $sorted;
  86.     }
  87.     else{
  88.         for ($i = 0; $i < sizeof($sorted) - 1; $i++) {
  89.             for ($j = 0; $j < sizeof($sorted) - 1 - $i; $j++)
  90.                 if ($sorted[$j][$column] < $sorted[$j + 1][$column]) {
  91.                     $tmp = $sorted[$j];
  92.                     $sorted[$j] = $sorted[$j + 1];
  93.                     $sorted[$j + 1] = $tmp;
  94.                 }
  95.         }
  96.         return $sorted;
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement