Zum Inhalt springen

Tharsis

Mitglieder
  • Gesamte Inhalte

    14
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Leute! Mal wieder Problems... Ich hab 'nen Canon Pixma 4300 an die Fritzbox geklemmt und auf den Rechnern hier unter Windows auch easy speasy eingerichtet, aber unter Linux gibt's mal wieder Probleme Ich hab KDE installiert, CUPS und diesen Turboprint-Treiber. Gehe per IPP auf port 9100, nutzt nur nix, es kommt nix an. Habt ihr Tipps?
  2. Hallo Leute! Ich hab mal wieder ein Problem: Ich habe vor nach einer Zeichenkette in zB Textdateien zu suchen und diese durch eine andere zu erstzen und das am besten automatisch. Ich hab schon etwas rumprobiert und habe mir sogar SED für Windows gezogen. Gibt's da vllt Befehle der CMD wo ich das recht einfach realisieren kann?
  3. Ich hab hotplug letztendlich auch rausgelassen. Das war scheinbar auch der Knackpunkt. Auch nicht schlecht wie schnell sich son Debian mit ner broken Interfaces zerschiessen lässt :floet:
  4. Jo auf jeden. Doppelte Deklaration ist schwachsinn das habe ich auch schon gesehen. @ carstenj Nur die loopback
  5. Moin Leute! Ich hab grad n Problem mit der Statischen IP-Vergabe. Klaro, ab in die interfaces datei und adresse rein. Aber was ich auch mache die interfaces kann nicht gelesen werden (/etc/init.d/networking restart) Zumal das file nachm ändern auch einfach mal 488 byte groß is und keine 277 (wie es wohl sein sollte). Hmmmmm..... Schonmal danke für die Hilfe unter euch Linux-Junkies. ORIGINAL interfaces MEINE Interfaces
  6. EDIT Hier stand Mist. Sorry sonen alten Thread wieder ausgegraben zu haben
  7. Gehe ich recht in der Annahme das beim befüllen der Spalten Longitude, Latidue, KooordX,Y,Z in der tabelle der Fehler liegt?
  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: 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:
  9. OK dann poste ich mal den Rest <?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" Die GeoDB_Textdata und die GeoDB_Coordinates
  10. 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. :eek
  11. 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
  12. Genau, kriege ordnungsgemäß lat und lon.
  13. 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
  14. 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]

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...