Zum Inhalt springen

Umkreissuche mit PLZ und Geodaten


Tharsis

Empfohlene Beiträge

Moin Leute!

Ich möchte eine Umkreissuche realisieren um nach plz in einem gewissen umkreis zu suchen die bestimmte Kriterien erfüllen. Hab natürlich ordentlich gegoogelt und auch was brauchbares gefunden:

Umkreissuche mit der OpenGeoDB

Hijey, also Beispiel geloadet und die entsprechenden DB-Tabellen erstellt.

Soweit so gut.

Dummerweise gibt's dann auch schon die ersten Probleme und zwar innerhalb der Klasse "umkreissuche.class.php"

ALLE PLZ die in meiner beispieltabelle enthalten sind können "nicht zugeordnet" werden.

Ehrlich gesagt sehe ich den Fehler nicht, warum dies auftritt :confused:

Kann mir hier jemand auf die Sprünge helfen?

Hier mal der komplette Code der Klasse:

<?php


class Umkreissuche {
// Erdradius in Kilometern
private $Erdradius = 6371;
// mysql link identifier
private $db;
// Datentabelle
private $table = false;
// Fehler zeigen?
public $zeigeFehler = true;

public function __construct($db, $table = 'tabelleyow') {
if (!is_resource($db) || get_resource_type($db) != 'mysql link') {
trigger_error('Keine MySQL-Ressource übergeben', E_USER_ERROR);
}
$this->db = $db;
$this->table = $table;

// leere Koordinaten in Tabelle füllen
$sql = 'SELECT `ID`, `PLZ`
FROM `' . $this->table . '`
WHERE
`KoordX` = "0"
AND `KoordY` = "0"
AND `KoordZ` = "0"
';
$re = mysql_query($sql, $this->db);
while ($rd = mysql_fetch_object($re)) {
if (!$this->Plz2Koord($rd->PLZ, $lon, $lat)) {
if ($this->zeigeFehler) {
trigger_error('Postleitzahl ' . $rd->PLZ . ' konnte nicht zugeordnet werden', E_USER_NOTICE);
}
continue;
}
$this->Kugel2Kartesisch($lon, $lat, $x, $y, $z);
$sql = 'UPDATE `' . $this->table . '`
SET
`Longitude` = "' . $lon . '",
`Latitude` = "' . $lat . '",
`KoordX` = "' . $x . '",
`KoordY` = "' . $y . '",
`KoordZ` = "' . $z . '"
WHERE
`ID` = "' . (int)$rd->ID . '"
LIMIT 1
';
mysql_query($sql, $this->db);
}
}

public function Kugel2Kartesisch($lon, $lat, &$x, &$y, &$z) {
$lambda = $lon * pi() / 180;
$phi = $lat * pi() / 180;
$x = $this->Erdradius * cos($phi) * cos($lambda);
$y = $this->Erdradius * cos($phi) * sin($lambda);
$z = $this->Erdradius * sin($phi);
return true;
}

public function Plz2Koord($PLZ, &$lon, &$lat) {
$sql = 'SELECT
coo.lon,
coo.lat
FROM geodb_coordinates AS coo
INNER JOIN geodb_textdata AS textdata
ON textdata.loc_id = coo.loc_id
WHERE
textdata.text_val = "' . mysql_real_escape_string($PLZ, $this->db) . '"
AND textdata.text_type = "500300000"
LIMIT 1';
$re = mysql_query($sql, $this->db);
if (mysql_num_rows($re) != 1) {
return false;
}
list($lon, $lat) = mysql_fetch_row($re);
return true;
}

public function Suche($PLZ, $Radius, $Spalten = array(), $Reihenfolge = false, $Richtung = 'ASC') {
if (!is_array($Spalten) || count($Spalten) == 0) {
$Spalten = '*';
} else {
$Spalten = '`' . implode('`, `', $Spalten) . '`';
}

if (!$this->Plz2Koord($PLZ, $lon, $lat)) {
if ($this->zeigeFehler) {
trigger_error('Postleitzahl ' . $PLZ . ' konnte nicht zugeordnet werden', E_USER_NOTICE);
}
return false;
}
$this->Kugel2Kartesisch($lon, $lat, $UrsprungX, $UrsprungY, $UrsprungZ);

$sql = 'SELECT ' . $Spalten . '
FROM `' . $this->table . '`
WHERE
KoordX >= ' . ($UrsprungX - $Radius) . '
AND KoordX <= ' . ($UrsprungX + $Radius) . '
AND KoordY >= ' . ($UrsprungY - $Radius) . '
AND KoordY <= ' . ($UrsprungY + $Radius) . '
AND KoordZ >= ' . ($UrsprungZ - $Radius) . '
AND KoordZ <= ' . ($UrsprungZ + $Radius) . '
AND POWER(' . $UrsprungX .' - KoordX, 2)
+ POWER(' . $UrsprungY .' - KoordY, 2)
+ POWER(' . $UrsprungZ .' - KoordZ, 2)
<= "' . pow(2 * $this->Erdradius * sin($Radius / (2 * $this->Erdradius)), 2) . '"';
if ($Reihenfolge && strpos($Spalten, $Reihenfolge) !== false) {
$Richtung = (strtoupper($Richtung) == 'DESC') ? 'DESC' : 'ASC';
$sql .= "\n" . 'ORDER BY `' . $Reihenfolge . '` ' . $Richtung;
}
$re = mysql_query($sql, $this->db);
$result = array();
while ($rd = mysql_fetch_object($re)) {
$result[] = $rd;
}
return $result;
}

}
?>[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, hab ich.

Sowohl die Koordinaten aus der GeoDB sind drin als auch die Einträge zu den PLZ.

OK, die Werte zu den Koordinaten sind zu diesem Zeitpunkt alle 0, was ja auch richtig ist.

Das macht das Script ja dann im weiteren Verlauf selbst meine Tabelle mit den richtigen Koordinaten zu befüllen, soweit komme ich ja gar nicht erst :upps

Notice: Postleitzahl 10178 konnte nicht zugeordnet werden in xxxxx/umkreissuche.class.php on line 35
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das heißt du hast diesen SQL Befehl ausgeführt (mit deiner PLZ) und anschließend über PHPMyAdmin auch Daten angezeigt bekommen?


SELECT 

                    coo.lon, 

                    coo.lat 

                FROM geodb_coordinates AS coo 

                INNER JOIN geodb_textdata AS textdata 

                ON textdata.loc_id = coo.loc_id 

                WHERE 

                    textdata.text_val = "XXXXDEINE_PLZXXXXXX" 

                AND textdata.text_type = "500300000" 

                LIMIT 1

XXXXDEINE_PLZXXXXXX ersetzten.

Bearbeitet von ins0
Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Fehler wird augelößt weil er keine Koordinaten zu deiner PLZ finden konnte, wenn du aber sagst das du mit dem SQL Query direkt ein Ergebnis bekommst, dann kann das nicht sein.

Im Script kann ich keinen Fehler erkennen, also machst du iwas Falsch.

//edit

Überprüf die PLZ die in deiner Tabelle (laut deinen Script) "tabelleyow" stehen und prüf diese, da wird der Fehler sein, er kann die dort eingetragenen PLZ nicht finden.

Bearbeitet von ins0
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab jetzt mal jede PLZ in der "tabelleyow" geprüft.

Siehe da -> natürlich können einige davon nicht zugeordnet werden, in der GeoDB sind zum Teil 4stellige und/oder völlig abweichende PLZ zu den Koordinaten hinterlegt, was mich natürlich wundert. Dementsprechend ist wohl beim Import der GEOdb tabellen was schief gelaufen. ABER, einige PLZ sind korrekt hinterlegt, die müsste er immerhin finden.

Pustekuchen. Ich werde jetzt nochmal per Hand einige PLZ/Koordinaten anpassen und hier dann nochmal posten, falls sich was getan hat. :(

Danke schonmal an ins0 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK dann poste ich mal den Rest :D


<?php
define('__CFG_DB_SERVER', 'localhost');
define('__CFG_DB_NAME', 'db-name');
define('__CFG_DB_USERNAME', 'db-user');
define('__CFG_DB_PASSWORD', 'db-pass');
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Beispiel für eine Umkreissuche</title>
<meta name="description" content="Beispiel für die in PHP und MySQL realisierte Umkreissuche auf Basis der OpenGeoDB." />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>
<div id="content">
<h1>Umkreissuche</h1>

<h2>Suche</h2>
<?php
$PLZ = trim((get_magic_quotes_gpc()) ? stripslashes($_REQUEST['PLZ']) : $_REQUEST['PLZ']);
$Entfernung = trim((get_magic_quotes_gpc()) ? stripslashes($_REQUEST['Entfernung']) : $_REQUEST['Entfernung']);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<table>
<tr>
<td>Postleitzahl:</td>
<td><input type="text" name="PLZ" value="<?php echo htmlentities($PLZ); ?>" /></td>
</tr>
<tr>
<td>Entfernung:</td>
<td><select name="Entfernung">
<option value="50"<?php if ($Entfernung == 50) echo ' selected="selected"'; ?>>50 km</option>
<option value="100"<?php if ($Entfernung == 100) echo ' selected="selected"'; ?>>100 km</option>
<option value="200"<?php if ($Entfernung == 200) echo ' selected="selected"'; ?>>200 km</option>
</select></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Suche starten" /></td>
</tr>
</table>
</form>

<?php
if (!empty($PLZ) && ($Entfernung >= 50) && ($Entfernung <= 200)) {
echo '<h2>Ergebnis der Umkreissuche</h2>';
if (!preg_match('/^([0-9]{5})$/', $PLZ)) {
echo 'Das Format der eingegebenen Postleitzahl ist ungültig!';
} else {
$db = mysql_connect(__CFG_DB_SERVER, __CFG_DB_USERNAME, __CFG_DB_PASSWORD) or die(mysql_error());
mysql_select_db(__CFG_DB_NAME, $db) or die(mysql_error());
require_once('umkreissuche.class.php');
$Suche = new Umkreissuche($db, 'staedte');
$Suche->zeigeFehler = false;
$Ergebnis = $Suche->Suche($PLZ, $Entfernung, array('Name', 'Einwohner', 'Website', 'Strasse', 'PLZ', 'Ort'), 'Einwohner', 'DESC');
if ($Ergebnis === false) {
echo 'In der Umkreissuche ist ein Fehler aufgetreten. Haben Sie eine gültige Postleitzahl eingegeben?';
} else if (!count($Ergebnis)) {
echo 'Leider wurden keine Ergebnisse im Umkreis von ' . htmlentities($Entfernung) . ' km um die Postleitzahl ' . htmlentities($PLZ) . ' gefunden!';
} else {
echo '<ul>';
foreach ($Ergebnis as $Eintrag) {
echo '<li><strong>' . htmlentities($Eintrag->Name) . '</strong><br />' . "\n";
echo number_format($Eintrag->Einwohner, 0, ',', '.') . ' Einwohner<br />' . "\n";
echo htmlentities($Eintrag->Strasse) . '<br />' . "\n";
echo htmlentities($Eintrag->PLZ) . ' ' . htmlentities($Eintrag->Ort) . '<br />' . "\n";
if (!empty($Eintrag->Website)) {
echo 'Website: <a href="' . $Eintrag->Website . '">' . htmlentities($Eintrag->Website) . '</a><br />' . "\n";
}
echo '</li>' . "\n";
}
echo '</ul>';
}
}
}
?>
<div class="footer">

</div>
</div>
</body>
</html>
[/PHP]

In der DB hab ich einmal die "tabelleyow"

tablestructnwx6l.jpg

beispieleyow6jyll.jpg

Die GeoDB_Textdata

textdatastructmmbng.jpg

textdataexampleqkl7e.jpg

und die GeoDB_Coordinates

coordinatesstructaoa34.jpg

coordinatesexampleqzztx.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Der Fehler muss ja irgendwo in der while hier stehen. Hab deshalb mal Echo's reingesetzt um mir jeweils am Anfang und ende der Schleife die Abfrage anzuschauen und WANN eine PLZ nicht zugeordnet werden kann:

while ($rd = mysql_fetch_object($re)) {

echo "DurchlaufSTART- $sql ";
if (!$this->Plz2Koord($rd->PLZ, $lon, $lat)) {
echo "True";
if ($this->zeigeFehler) {
trigger_error('Postleitzahl ' . $rd->PLZ . ' konnte nicht zugeordnet werden', E_USER_NOTICE);
}
continue;
}
$this->Kugel2Kartesisch($lon, $lat, $x, $y, $z);
$sql = 'UPDATE `' . $this->table . '`
SET
`Longitude` = "' . $lon . '",
`Latitude` = "' . $lat . '",
`KoordX` = "' . $x . '",
LIMIT 1
';
mysql_query($sql, $this->db);
echo "EndeSchleife- $sql";
}
}
[/PHP]

Für die Eingabe PLZ: 10178

Umkreis: 200

Bekomme ich folgendes:

DurchlaufSTART- SELECT `ID`, `PLZ` FROM `staedte` WHERE `KoordX` = "0" AND `KoordY` = "0" AND `KoordZ` = "0" EndeSchleife- UPDATE `staedte` SET `Longitude` = "13.40629", `Latitude` = "52.524268", `KoordX` = "3770.6509673574", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "13.40629", `Latitude` = "52.524268", `KoordX` = "3770.6509673574", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 80331 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 50667 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 60311 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 70173 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 44135 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 45127 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 True

Notice: Postleitzahl 40213 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.994622", `Latitude` = "53.556866", `KoordX` = "3727.0972891479", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "8.8208279", `Latitude` = "53.0847558", `KoordX` = "3781.3739286288", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.8208279", `Latitude` = "53.0847558", `KoordX` = "3781.3739286288", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 04109 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 01067 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 90403 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 47051 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 44787 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 True

Notice: Postleitzahl 42275 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "9.7271906", `Latitude` = "52.3843792", `KoordX` = "3832.7058577278", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 53111 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 68159 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 76133 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 65183 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 48143 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 45894 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 86150 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 41061 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 True

Notice: Postleitzahl 52062 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "8.545686", `Latitude` = "52.0215963", `KoordX` = "3876.9601943523", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "10.5267696", `Latitude` = "52.2688736", `KoordX` = "3833.1589492444", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "10.5267696", `Latitude` = "52.2688736", `KoordX` = "3833.1589492444", LIMIT 1 True

Notice: Postleitzahl 09111 konnte nicht zugeordnet werden in /srv/www/web10/html/umkreissuche.class.php on line 38

DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "10.5267696", `Latitude` = "52.2688736", `KoordX` = "3833.1589492444", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "10.1227652", `Latitude` = "54.3232927", `KoordX` = "3657.797677975", LIMIT 1 DurchlaufSTART- UPDATE `staedte` SET `Longitude` = "10.1227652", `Latitude` = "54.3232927", `KoordX` = "3657.797677975", LIMIT 1 EndeSchleife- UPDATE `staedte` SET `Longitude` = "9.8690418", `Latitude` = "51.7007573", `KoordX` = "3890.1158552195", LIMIT 1 Leider wurden keine Ergebnisse im Umkreis von 200 km um die Postleitzahl 10178 gefunden!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast runtimeterror

Wenn ich alles richtig verstanden habe geht es lediglich um die Frage, warum mysql_num_rows($re) in Plz2Koord() was anderes als 1 liefert?

Ich würde nach der Ausführung des SQLs mal bei mysql anfragen, ob alles glattgegangen ist (mysql_error). Ich kann gerade auch keinen Fehler entdecken, für eine Fehleranalyse ist das aber definitiv noch viel zu viel Code.

Versuch mal in einem Testscript nur die die Plz2Koord()-Methode mit einer per phpmyadmin getesteten PLZ aufzurufen.

BTW: ist das richtig, dass deine UPDATE-Anweisung keine WHERE-Klausel hat?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...