Время:
Новых сообщений: Нет
Вы на форуме дней
Ваша группа: Гость
Ваш IP: 3.145.108.43
Logical-Portal — молодежный портал со своей изюминкой, каждый сможет найти что-то интересное и полезное для себя, например наш форум общения с которым вам обязательно нужно ознакомиться.
  • Страница 1 из 1
  • 1
Сортировка данных
Сообщение оставлено 25.05.2011 в 22:36:15 | Сообщение #1


В этом примере показывается как при помощи php-скриптов сортировать, как заведено выражаться, произвольные данные. Необходимо отметить то, что скрипт, стало быть, делает на страничке таблицу с сгенерированными, как многие думают, случайными значениями даты/времени за крайние 30 дней и суммы, иммитируя расходы за данный период времени в конкретное время. Не для кого не секрет то, что на страничке можно, наконец, отсортировать данный по хоть какому из 2-х полей в порядке возрастания либо убывания методом нажатия на надлежащие клавиши. Все знают то, что незначительно изменив данный скрипт, его можно также, в конце концов, применять и для сортировки данных, которые введет юзер, к примеру, средством формы. Все знают то, что начальный код данного примера приведен ниже.
В шаблоне странички:

Code

<div align="center">  
   <p>  
   <b>Данный пример демонстрирует использование скрипта для сортировки данных расходов за последние 30 дней</b>  
   </p>  
</div>  
<hr>


PHP скрипт примера:

Code
<?  
if ((count($_POST)>0) && $_POST['bdata'])  
{  
   $___notjson=1;  
   $arr=split("\|",$_POST['bdata']);  
   if ($_POST['sorttype']==11)  
   {  
   foreach ($arr as $line) {  
   trim($line);  
   list($value,$key) = split(",",$line,2);  
   $sortarr[$key]=$value;  
   $sorttoorigarr[$value]=$key;  
   }  
   sort($sortarr,SORT_NUMERIC);  
   $data="<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><th>Дата</th><th>Сумма</th>";  
   foreach ($sortarr as $val) {  
   if ($val) $data.="<tr><td align=\"center\" width=\"50%\">".date("Y-m-d H:m:s",$val)."</td><td align=\"center\">".$sorttoorigarr[$val].".00 USD</td></tr>";  
   }  
   $data.="</table>";  
   echo "$('#sorttable').html('$data')";  
   }  
   elseif ($_POST['sorttype']==12)  
   {  
   foreach ($arr as $line) {  
   trim($line);  
   list($value,$key) = split(",",$line,2);  
   $sortarr[$key]=$value;  
   $sorttoorigarr[$value]=$key;  
   }  
   rsort($sortarr,SORT_NUMERIC);  
   $data="<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><th>Дата</th><th>Сумма</th>";  
   foreach ($sortarr as $val) {  
   if ($val) $data.="<tr><td align=\"center\" width=\"50%\">".date("Y-m-d H:m:s",$val)."</td><td align=\"center\">".$sorttoorigarr[$val].".00 USD</td></tr>";  
   }  
   $data.="</table>";  
   echo "$('#sorttable').html('$data')";  
   }  
   elseif ($_POST['sorttype']==21)  
   {  
   foreach ($arr as $line) {  
   trim($line);  
   list($key,$value) = split(",",$line,2);  
   $sortarr[$key]=$value;  
   $sorttoorigarr[$value]=$key;  
   }  
   sort($sortarr,SORT_NUMERIC);  
   $data="<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><th>Дата</th><th>Сумма</th>";  
   foreach ($sortarr as $val) {  
   if ($val) $data.="<tr><td align=\"center\" width=\"50%\">".date("Y-m-d H:m:s",$sorttoorigarr[$val])."</td><td align=\"center\">".$val.".00 USD</td></tr>";  
   }  
   $data.="</table>";  
   echo "$('#sorttable').html('$data')";  
   }  
   elseif ($_POST['sorttype']==22)  
   {  
   foreach ($arr as $line) {  
   trim($line);  
   list($key,$value) = split(",",$line,2);  
   $sortarr[$key]=$value;  
   $sorttoorigarr[$value]=$key;  
   }  
   rsort($sortarr,SORT_NUMERIC);  
   $data="<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><th>Дата</th><th>Сумма</th>";  
   foreach ($sortarr as $val) {  
   if ($val) $data.="<tr><td align=\"center\" width=\"50%\">".date("Y-m-d H:m:s",$sorttoorigarr[$val])."</td><td align=\"center\">".$val.".00 USD</td></tr>";  
   }  
   $data.="</table>";  
   echo "$('#sorttable').html('$data')";  
   }  
   else echo "$('#sorttable').html('Ошибка в данных, обновите страницу')";  
   exit;  
}  

$gtime=time();  
srand($gtime);  
$data="<div id='sorttable'><table border='1' cellpadding='0' cellspacing='0' width='100%'><th>Дата</th><th>Сумма</th>\n";  
for ($i=0; $i<20; $i++)  
{  
   $tdate=rand($gtime-86400*30,$gtime);  
   $summ=rand(1,5000);  
   date("Y-m-d H:m:s",$tdate);  
   $data.="<tr><td align='center' width='50%'>".date("Y-m-d H:m:s",$tdate)."</td><td align='center'>$summ.00 USD</td></tr>\n";  
   $hdata.="$tdate,$summ|";  
}  
$data.="</table></div>  
<form name='sortform' action='/php/example002/example002.php' method='post' onsubmit=\"_uPostForm(this,{dataType:'script'});return false;\" onerror=\"alert('Error');\">  
<table border='0' cellpadding='0' cellspacing='0' width='100%'>  
<tr><td align='center' width='50%'>Сортировать по дате [<input type='submit' value='A->Z' onclick='document.sortform.sorttype.value=11'>   
<input type='submit' value='Z->A' onclick='document.sortform.sorttype.value=12'>]</td>  
<td align='center'>Сортировать по сумме [<input type='submit' value='A->Z' onclick='document.sortform.sorttype.value=21'>   
<input type='submit' value='Z->A' onclick='document.sortform.sorttype.value=22'>]</td></tr></table>\n  
<input type='hidden' name='bdata' value='$hdata'>  
<input type='hidden' name='sorttype' value=0>  
</form>";  
echo $data;  
?>
 
Увидимся...
 
   
  • Страница 1 из 1
  • 1
Поиск:
 
Графика от: Megas, GraFOS | Дизайн сверстал E.A.
Хостинг от uCoz
Яндекс.Метрика