Hauptmenü

Werkzeuge

Kategorien

Archiv

Längste Übereinstimmung aus einer MySQL Tabelle auslesen

Erstellt in PHP am 26. Februar 2016 vom Daschmi

Ich hatte das Problem, dass ich eine Tabelle mit Vorwahlen hatte und für eine Rufnummer die Kosten aus dieser Tabelle ermitteln musste. Hierzu wollte ich den Datensatz ermitteln der von der Länge her am weitesten mit der Nummer übereinstimmt. Ich musste etwas nachdenken und habe es schließlich mit folgendem Query gelöst:

SELECT
	*
FROM
	`tbl_connectionprice`
WHERE
	LEFT(':destinationnumber', LENGTH(`areacode`)) = `areacode`
ORDER BY
	LENGTH(`areacode`) DESC
LIMIT 1

Die Variable :destinationnumber ist dabei die komplette Rufnummer die angerufen wurde inklusive Vorwahl und in der Spalte areacode sind die Vorwahlen definiert.

Excel Funktion AUFRUNDEN mit PHP nachgebildet

Erstellt in PHP am 12. Januar 2016 vom Daschmi

Die Excel Funktion „AUFRUNDEN“ kann mit folgender Funktion in PHP nachgebildet werden:

public static function AUFRUNDEN($value, $digit)
{

	$pow = pow(10, $digit);

	return (ceil($pow * $value) + ceil($pow * $value - ceil($pow * $value))) / $pow;

} // public static function AUFRUNDEN($value, $digit)

PhpGiroCode

Erstellt in PHP am 1. März 2015 vom Daschmi

GiroCode für QR – Code Überweisung generieren

Mit Hilfe dieser Bibliothek ist es möglich QR Codes zu generieren, die das überweisen z.B. mit der Sparkassen App erleichtert. Die Funktion generiert dabei aus IBAN/BIC oder Kontonummer/BLZ einen QR-Code der für Überweisungen innerhalb Deutschlands genutzt werden kann.

Funktionen:

  • Generierung eines QR-Codes (GiroCode) für Überweisungen innerhalb Deutschlands
  • Ermittlung von IBAN/BIC aus Kontonummer und BLZ (BLZ Stand Januar 2015)
  • Validierung von IBAN mittels Prüfziffer
  • Rückgabe von Bankdaten aus BLZ oder BIC
  • Rückgabe an Browser oder Speicherung in Datei

Beispiel:


IBAN
BIC
Empfänger
Betrag
Betreff
QR - GiroCode



PhpGiroCode PHP Klassenbibliothek

Stückpreis: 10,00 EUR

Längen und Breitengrad als FLOAT Werte aus EXIF Daten

Erstellt in PHP am 2. Januar 2015 vom Daschmi

Um mittels PHP die Längen- und Breitengrade aus einer Datei mit EXIF Metadaten zu extrahieren, können folgende Funktionen verwendet werden:

    function ds_gps2Num($coord)
{

$arParts = explode(‚/‘, $coord);

if (sizeof($arParts) <= 0) return 0;
else if (sizeof($arParts) == 1) return $arParts[0];
else return (floatval($arParts[0]) / floatval($arParts[1]));

}

function ds_getGps($exifCoord, $h)
{

$deg = ((sizeof($exifCoord) > 0)?ds_gps2Num($exifCoord[0]):0);
$min = ((sizeof($exifCoord) > 1)?ds_gps2Num($exifCoord[1]):0);
$sec = ((sizeof($exifCoord) > 2)?ds_gps2Num($exifCoord[2]):0);

return (($h == ‚W‘ || $h == ‚S‘)?-1:1) * ($deg + $min / 60 + $seconds / 3600);

}

Der Aufruf erfolgt dann beispielsweise so:

$exif = exif_read_data($filepath, ‚ANY_TAG‘);
$image_longitude = ds_getGps($exif["GPSLongitude"], $exif[‚GPSLongitudeRef‘]);
$image_latitude = ds_getGps($exif["GPSLatitude"], $exif[‚GPSLatitudeRef‘]);

IBAN Validieren

Erstellt in PHP am 11. März 2014 vom Daschmi

Mit folgendem PHP Code Schnipsel kann man einfache die IBAN Validierung durchführen:

function checkIBAN($strIBAN)
{

	$swapedIBAN = strtoupper(substr($strIBAN, 4).substr($strIBAN, 0, 4));
	$code = "";	

	for ($i = 0; $i < strlen($swapedIBAN); $i ++)
	{

		$char = $swapedIBAN[$i]; 

		if (is_numeric($char))
		{

			$code .= $char;

		}
		else
		{

			$code .= strval(ord($char) – 55);

		}

	}

	$reminder = "";
	while (true)
	{

		$substr = substr($code, 0, 4);
		$code = substr($code, 4);
		$reminder = intval($reminder.$substr) % 97;

		if (strlen($code) <= 0) break;

	}

	if ($reminder != "1") return false;
	else return true;

} // function checkIBAN($strIBAN)