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
Kann mir hier jemand auf die Sprünge helfen?
Hier mal der komplette Code der Klasse:
PHP-Code:<?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;
}
}
?>
+ Antworten
Ergebnis 1 bis 14 von 14
Umkreissuche mit PLZ und Geodaten
Diskussion über Umkreissuche mit PLZ und Geodaten in Webdesign der Kategorie Fachliches; Moin Leute! Ich möchte eine Umkreissuche realisieren um nach plz in einem gewissen umkreis zu suchen die bestimmte Kriterien erfüllen. ...
- 14.02.2012 09:07 #1Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
Umkreissuche mit PLZ und Geodaten
- 14.02.2012 13:49 #2
Hast du das Script denn schonmal selbst "zerlegt" und die einzelnen Stationen durchlaufen um den Fehler auf die Schliche zu kommen?
Sprich auch die SQL Abfragen mal selbst in Mysql Admin testen und gucken ob überhaupt Daten zum verarbeiten vorhanden sind.
- 14.02.2012 14:10 #3Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
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
Notice: Postleitzahl 10178 konnte nicht zugeordnet werden in xxxxx/umkreissuche.class.php on line 35
- 14.02.2012 14:40 #4
Das heißt du hast diesen SQL Befehl ausgeführt (mit deiner PLZ) und anschließend über PHPMyAdmin auch Daten angezeigt bekommen?
XXXXDEINE_PLZXXXXXX ersetzten.Code: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 1Geändert von ins0 (14.02.2012 um 14:45 Uhr)
- 15.02.2012 15:19 #5Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
Genau, kriege ordnungsgemäß lat und lon.
- 15.02.2012 16:58 #6
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.Geändert von ins0 (15.02.2012 um 17:09 Uhr)
- 16.02.2012 10:17 #7Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
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
- 16.02.2012 11:02 #8Reg.-Benutzer
- Reg.-Datum
- 04.05.2001
- Ort
- Neuburg / Donau
- Beiträge
- 451
Hallo
ich habe so ne Vermutung (ohne deinen Code angesehen zu haben), kann es sein, dass du für das PLZ- Feld ein Numeric benutzt hast ? Dann kann es ein Problem geben, denn es gibt auch PLZ mit führender 0 diese würde bei Numeric entfernt werden
Gruß Hans-JörgGlaube nie einer Zeit, die dein Computerprogramm selbst gestoppt hat.
- 16.02.2012 12:04 #9Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
Nee ist CHAR.
Nach dem anpassen der PLZ werden diese zugeordnet.
Ergebnisse liefert die Umkreissuche allerdings keine, auch wenn sie es müsste (sind genug PLZ in der "tabelleyow"). So langsam bin ich echt am verzweifeln, am Script scheints ja nicht zu liegen.
- 16.02.2012 12:06 #10
Poste mal dein Script wie du die Classe verwendest und welche Daten in der DB als Orte eingetragen sind mit PLZ bitte.
- 16.02.2012 14:58 #11Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
OK dann poste ich mal den Rest

In der DB hab ich einmal die "tabelleyow"PHP-Code:<?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>


Die GeoDB_Textdata


und die GeoDB_Coordinates

- 02.03.2012 10:19 #12Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
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:
Für die Eingabe PLZ: 10178PHP-Code: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";
}
}
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!
- 02.03.2012 10:37 #13Reg.-Benutzer
- Reg.-Datum
- 26.11.2010
- Beiträge
- 8
Gehe ich recht in der Annahme das beim befüllen der Spalten Longitude, Latidue, KooordX,Y,Z in der tabelle der Fehler liegt?
- 10.03.2012 04:05 #14Reg.-Benutzer
- Reg.-Datum
- 04.11.2006
- Ort
- Köln
- Beiträge
- 24
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?
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Ähnliche Themen
-
Geodaten mit PLZ und Umkreis
Von bigvic im Forum Skript- und WebserverprogrammierungAntworten: 10Letzter Beitrag: 21.12.2009, 11:50 -
FIAE Abschlussprojekt: Umkreissuche PHP
Von QDog im Forum AbschlussprojekteAntworten: 1Letzter Beitrag: 20.04.2009, 10:00
Die häufigsten Suchbegriffe für diese Seite:
Bisher noch keine Treffer von einer Suchmaschine

LinkBack URL
About LinkBacks
Zitieren