W dniu 22 marca 2012 18:59 użytkownik Tomasz Chiliński
<tomasz.chilinski@chilan.com> napisał:
Ciekawe czy w wyrażeniu regularnym dopasowującym się do potencjalnej nazwy ulicy
zawarty jest znak "-" ;-)
oj to nie jest kwestia znaku "-". Dodałem printa przed wykonaniem zapytań do bazy i zmienne są poprawne. kwestia jest w zapytaniu/zwracanych danych.
"print "printuje \$city= $city, \$street= $street \$house= $house \n";
# find location_street and/or location_city IDs
if ($street && $city) {
$street_get->execute($street, $street, "$city%");
my $srows = $street_get->fetchall_hashref('id');
if (scalar(keys %$srows) == 1) {
foreach my $srow (keys %$srows) {
$street_id = $srows->{$srow}->{'id'};
$city_id = $srows->{$srow}->{'cityid'};
}
}
else {
$city_get->execute($street);
if (my $srow = $city_get->fetchrow_hashref()) {
$city_id = $srow->{'id'};
$orig_location =~ s/$city, //;
}
}
}
elsif ($city) {
$city_get->execute($city);
if (my $crow = $city_get->fetchrow_hashref()) {
$city_id = $crow->{'id'};
}
}
# update node location
if ($street_id || $city_id) {
print "found\n" if not $quiet;
$update->execute($city_id, $street_id, $house, $flat, $orig_location, $row->{'id'});
}
else {
print "not found\n" if not $quiet;
}
}
"