A から B への郵便番号の最初の 5 文字を使用して「固定運賃」をチェックする次のコードがあります。
LE675FE
が入力された場合、$full_post_code_a = LE675F;
基本的にやりたいのは、最初の 4 文字と 3 文字を使用してデータベースをチェックするループなので、$full_post_code_a = LE675F / LE675 and LE67
どうすればこれが可能になるのだろうか?
private static function checkFixedFarePC($post_codes) {
self::$arr_postcodes = explode(",", $post_codes);
// Get full postcode of Pickup
$full_post_code_a = (self::$arr_postcodes[0]);
// Get full postcode of Destination
$full_post_code_b = (self::$arr_postcodes[1]);
// Get first 5 characters of pickup & destination postcode
$post_code_a = substr($full_post_code_a,0 ,5);
$post_code_b = substr($full_post_code_b,0 ,5);
// Pass postcodes to check if a fixed fare is possible
return self::getFixedFare($post_code_a, $post_code_b);
}
次の関数に送信されます。
private static function getFixedFare($post_code_a, $post_code_b) {
$pdo = new SQL();
$dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);
try {
$query = "SELECT VehicleSystemId, Fare FROM tblfixedfares
WHERE ShortPostCodeA = '$post_code_a'
AND ShortPostCodeB = '$post_code_b'
AND DayHalf = :day_half
AND VehicleSystemId IN ('Car', '6B')";
$stmt = $dbh->prepare($query);
$stmt->bindParam(':day_half', self::$day_half, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_GROUP);
$stmt->closeCursor();
$dbh = null;
return $result;
}
catch (PDOException $pe) {
die("Error: " .$pe->getMessage(). " Query: ".$stmt->queryString);
}
どんな助けでも大歓迎です!