Срочно нужна помощь
фильтра данных из текстового файла
вот пример скрипта:
Код:
<?php
$news=file("ddbs/1.txt");
$lastnews=array();
$m=-1;
if($target=="other")
$target_expr="";
else
$target_expr=" ".$datas[3]."==$target ";
if($mark=="other")
$mark_expr="";
else
$mark_expr=" ".$datas[4]."==$mark ";
if($price=="other")
$price_expr="";
else
$price_expr=" ".intval($datas[5]).">=$price_from && ".intval($datas[5])."<$price_to ";
// $m=count($news)/4;
for($manda=count($news)-4;$manda>=0;$manda-=4)
{
if( (eval($target_expr)) && (eval($mark_expr)) && (eval($price_expr)) )
$lastnews[$m++]=$news[$manda];
}
if( count($lastnews)>0 )
{
for($index=0;$index<count($lastnews);$index+=4)
{
$newsdata=explode("_:!:_",$lastnews[$index]);
$zindex=$index*4;
printf("<tr style='background:rgb(245,245,245);'><td colspan=2 class=titlemenu>%s \n%s \n<a href='java script:load(%s,%s);' class=bm style='color:rgb(0,143,211);' >%s</a></td></tr>\n",$newsdata[0],$newsdata[1],1,$zindex,$newsdata[2]);
}
}
else
echo "<tr><td class=titlemenu align=left colspan=2>$target_expr $mark_expr $price_expr</td></tr>\n<tr><td colspan=2 class=titlemenu align=left>По вашему запросу ".$_POST['filter_target']." ".$_POST['filter_mark']." ".$_POST['filter_price']." ничего не найдено</td></tr>\n";
?>
$news=file("ddbs/1.txt");
$lastnews=array();
$m=-1;
if($target=="other")
$target_expr="";
else
$target_expr=" ".$datas[3]."==$target ";
if($mark=="other")
$mark_expr="";
else
$mark_expr=" ".$datas[4]."==$mark ";
if($price=="other")
$price_expr="";
else
$price_expr=" ".intval($datas[5]).">=$price_from && ".intval($datas[5])."<$price_to ";
// $m=count($news)/4;
for($manda=count($news)-4;$manda>=0;$manda-=4)
{
if( (eval($target_expr)) && (eval($mark_expr)) && (eval($price_expr)) )
$lastnews[$m++]=$news[$manda];
}
if( count($lastnews)>0 )
{
for($index=0;$index<count($lastnews);$index+=4)
{
$newsdata=explode("_:!:_",$lastnews[$index]);
$zindex=$index*4;
printf("<tr style='background:rgb(245,245,245);'><td colspan=2 class=titlemenu>%s \n%s \n<a href='java script:load(%s,%s);' class=bm style='color:rgb(0,143,211);' >%s</a></td></tr>\n",$newsdata[0],$newsdata[1],1,$zindex,$newsdata[2]);
}
}
else
echo "<tr><td class=titlemenu align=left colspan=2>$target_expr $mark_expr $price_expr</td></tr>\n<tr><td colspan=2 class=titlemenu align=left>По вашему запросу ".$_POST['filter_target']." ".$_POST['filter_mark']." ".$_POST['filter_price']." ничего не найдено</td></tr>\n";
?>
........................
чет не работает ..........
[COLOR=darkred]===================[/COLOR]
[COLOR=darkred]Оформляй код как положено.[/COLOR]
А что дролжно работать? И что не работает? Телепатия не всем пока доступна.
а задача заключалась в простой фильтрации данных по переданным
параметрам, учитывая то что кол-во параметров могло менятся.
Цитата: Zemik
да вот сделал уже. оказалось это можно сделать гораздо проще.
а задача заключалась в простой фильтрации данных по переданным
параметрам, учитывая то что кол-во параметров могло менятся.
а задача заключалась в простой фильтрации данных по переданным
параметрам, учитывая то что кол-во параметров могло менятся.
Название этого топика - самое худшее, какое только можно придумать.
Впредь не называй так, иначе тебе просто никто не ответит.