>[оверквотинг удален]
>> возникла опять - теперь надо разбираться.
>> Поле MySQL два знака c UNSIGNED ZEROFILL.
>> Выводит:
>> site.com/catalog.pl?country=2
>> Должно быть:
>> site.com/catalog.pl?country=02
>> Сайт старый. "Никогда такого не было, и вот опять" :)
>> Может кто-то сталкивался? Какие мысли?
> может это не perl виноват, а mysql?
> как select происходит?Код для регионов (максимально сократил) - проблема одна.
sub region {
my $return;
$text_quest = "
SELECT region_id, $DATA{'LANGUAGE'}_region_name
FROM address_region
WHERE
id_country = $country AND
region_act > 0
GROUP BY region_id
";
$sth = $dbh->prepare($text_quest);
$sth->execute(); if ($sth->err) {
$return .= "Ошибка catalog_region_cat " . $sth->errstr;
}
$sth->bind_col( 1, \$region_id_tmp );
$sth->bind_col( 2, \$name_tmp );
while ( $sth->fetch ) {
# Костыль для решения, но таких мест много...
# if ($region_id_tmp =~ /^\d$/) {
# $region_id_tmp = '0' . $region_id_tmp;
# }
$return .= "<p><a title=\"$title_tmp\" href=\"http://$DATA{'LANGUAGE'}.$DATA{'HOST_NAME'}/$_[1]?country=$country®ion=$region_id_tmp\"><span>$name_tmp</span></a></p>\n";
}
$sth->finish();
return $return;
}