Может ли кто-нибудь предложить советы или изменения, чтобы сделать этот код более чистым и быстрым? Это был единственный способ, которым я мог придумать это в пятницу вечером, но я уверен, что должен быть более эффективный способ сделать это ...Советы по ускорению этого кода
Я знаю, что регулярные выражения не эффективны, но я не могу честно посмотреть, как еще я могу это сделать, особенно если данные Почтовый индекс может быть что угодно от:
e1 2be e1ebe e10ebe e10 Эбе EX1 Эбе ex1ebe
и так далее ...
Большое спасибо за любое кодирование ti пс, H
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Amma Gawd! Someone ate our database!');
mysql_select_db($dbname);
$result = mysql_query("SELECT * FROM `Consumer`
WHERE left(`Postcode`,2) = 'E'
OR left(`Postcode`,1) = 'N'
OR left(`Postcode`,1) = 'W'");
while($row = mysql_fetch_array($result)) {
$email = $row['Email'];
if (preg_match("/^[Ee]{1}[0-9]{2}/",$row['Postcode'])) {
mysql_query("UPDATE `Consumer` SET `CONYES` = '1' WHERE `Email` = '$email'") or die ("Bugger");
$counter = $counter +1;
} elseif (preg_match("/^[Nn]{1}[0-9]{2}/",$row['Postcode'])) {
mysql_query("UPDATE `Consumer` SET `CONYES` = '1' WHERE `Email` = '$email'") or die ("Bugger");
$counter = $counter +1;
} elseif (preg_match("/^[Ww]{1}[0-9]{2}/",$row['Postcode'])) {
mysql_query("UPDATE `Consumer` SET `CONYES` = '1' WHERE `Email` = '$email'") or die ("Bugger");
$counter = $counter +1;
}
}
$result1 = mysql_query("SELECT * FROM `Consumer`
WHERE left(`postcode`,2) = 'BR'
OR left(`postcode`,2) = 'CR'
OR left(`postcode`,2) = 'EC'
OR left(`postcode`,2) = 'EN'
OR left(`postcode`,2) = 'KT'
OR left(`postcode`,2) = 'NW'
OR left(`postcode`,2) = 'RM'
OR left(`postcode`,2) = 'SE'
OR left(`postcode`,2) = 'SM'
OR left(`postcode`,2) = 'SW'
OR left(`postcode`,2) = 'TW'
OR left(`postcode`,2) = 'WC'
OR left(`postcode`,2) = 'BD'
OR left(`postcode`,2) = 'HG'
OR left(`postcode`,2) = 'LS'
OR left(`postcode`,2) = 'WF'
OR left(`postcode`,2) = 'YO'
OR left(`postcode`,2) = 'HD'
OR left(`postcode`,2) = 'HX'");
while($row1 = mysql_fetch_array($result1)) {
$email = $row1['Email'];
mysql_query("UPDATE `Consumer` SET `CONYES` = '1' WHERE `Email` = '$email'") or die ("Bugger");
$counter = $counter +1;
}
echo $counter;
mysql_close($conn);
левых ('Postcode' , 2) = 'E'? Не осталось ('Postcode', 1) = 'E'? –
Ницца или смерть. – ThisSuitIsBlackNot
@ Марк Байерс - хорошо заметили, да, это ошибка! – MrFidge