Регистрация    Войти
Авторизация

Скрипт Сортировка данных для ucoz

Скрипт Сортировка данных для ucoz

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


<div align="center"> 
  <p>
  <b>Данный пример демонстрирует использование скрипта для сортировки данных расходов за последние 30 дней</b>
  </p>
</div>
<hr>
<?$PHPCODE$("http://phpexample.ucoz.net/php/example002/example002.php")?>




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


<? 
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;
?>

Есть вопросы по шаблону или скрипту? так задай их и мы ответим!

Автор: zomatsa  5-04-2011, 09:21   Просмотров: 2425   
Сортировка, Скрипт, данных
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.