|
|
|
|
for($i=0;$i<count($aurl);$i++)
{
$content = file_get_contents($aurl[$i]);
$PRICE = null;
foreach($pattern As $k=>$v)
{
if((!isset($PRICE) OR strlen($PRICE) < 1) AND preg_match($v,$content,$out)) {
$PRICE = $out[1];
if(strpos($content,'windows-1251') > 0) { } else { $PRICE = iconv('utf-8','windows-1251',$PRICE); }
}
}
if(strlen($PRICE) < 1) { $PRICE = "UNK ($PRICE)"; }
$shop_array = parse_url($aurl[$i]);
$shop_host = $shop_array['host'];
$shop_id = $shops[$shop_host];$time = time();
if(strpos($content,'windows-1251') > 0) { } else { $content = iconv('utf-8','windows-1251',$content); }
$content_sql = mysql_real_escape_string($content);
$PRICE = preg_replace('~[^0-9|.|,]+~','',$PRICE);
$PRICE = rtrim($PRICE," ");
$PRICE = number_format($PRICE,2);
$PRICE = preg_replace('~[^0-9|.]+~','',$PRICE);
$min_price = $lots[$id]['min_price'];
$max_price = $lots[$id]['max_price'];
if($PRICE < $min_price OR $PRICE > $max_price) { $label = "invalid price ($PRICE)"; }
mysql_query("INSERT INTO `results` (`lot_id`,`shop_id`,`price`,`timeout`,`errors`,`url`,`label`) VALUES('$id','$shop_id','$PRICE','$time','$content_sql','$aurl[$i]','$label $PRICE');");
unset($PRICE);
}
|
В базе данных, поле lable : invalid price (140.00) 2195.00
140.00 - цена предыдущей позиции, но как она проскочила сюда, и почему в mysql_query она меняет свое значение ?? | |
|
|
|
|
|
|
|
для: toproot
(09.06.2015 в 12:07)
| | Извиняюсь, label надо было стереть.. завтыкал.. | |
|
|
|
|
|
|
|
для: toproot
(09.06.2015 в 12:07)
| | потому что применили условный оператор (if) вместо условной операции (?:). | |
|
|
|