Seite 1 von 1
Durschnitt im MapMod
Verfasst: 21.04.2006 23:39
von Swat
Moin
gibt es eine möglichkeit den Durchschnitts Punkt zu ermittel auf der Userkarte
wäre aml ganz interesant zusehen wo so der mittelpunkt der User ist.
hätte auch schon einen Lösungansatz nur leider reichen meine derzeitigen Kenntnisse nicht aus.
Also meine Idee wäre die Koordinaten der User aus der DB auszulesen und dann durch deren anzahl zu Teilen das für Längen und Breitengrad schön hätte man den mittelwert.
ich scheitere an der adition der einzelnen werte da bräuchte ich mal eine kleine hilfe
Vielen Dank schonmal im vorraus.
SWAT
Verfasst: 22.04.2006 16:16
von Swat
so habe jetzt eine Lösung gefunden doch irgendwie scheint bei mir ein denkfehler drin zusein
Code: Alles auswählen
<?php
$dbname = "";
$loginname = "";
$loginpass = "";
$dbhost = "localhost";
$link = @mysql_connect($dbhost, $loginname, $loginpass) or die("<p>Keine Verbindung zur Datenbank möglich! [insertCustomerData()]</p>");
mysql_select_db($dbname) or die("<p>Auswahl der Datenbank fehlgeschlagen!</p>");
//Addition
$query = "select longitude, latitude from phpbb_map_mod_user";
$result = mysql_query($query) or die("<p>Datenbank-Anfrage fehlgeschlagen!<br />[SQL: ".mysql_error()."]</p>");
$i=0;
$a=0;
while ($row = mysql_fetch_array($result) )
{
$summe = $summe + $i + $row['longitude'];
$summe2 = $summe2 + $a + $row['latitude'] ;
$i++;
$a++;
}
echo $summe;
echo "<br />";
echo $summe2;
echo "<br /><br />";
//Anzahl auslesen
$query = "select user_id from phpbb_map_mod_user";
$result = mysql_query($query) or die("<p>Datenbank-Anfrage fehlgeschlagen!<br />[SQL: ".mysql_error()."]</p>");
while ($row = mysql_fetch_array ($result))
{
}
$anzahl= mysql_num_rows($result);
echo " Anzahl: $anzahl";
echo "<br /><br />";
//Durchschnitt
$longi = $summe/$anzahl;
$lati = $summe2/$anzahl;
echo "Longitudendurchschnitt: $longi ";
echo "<br />";
echo "Latitudendurchschnitt: $lati ";
?>
Bekomme bei der Longitude einen Wert von 72 raus und bei der Latitude was mit 114 was ja auf einer Karte von D nicht passt.
Kann mir jemand mal sagen wo mein Denkfeher ist
SWAT
Verfasst: 22.04.2006 16:34
von Swat
Okay hat sich erledigt
das $i++ bzw das $a++ mussten raus dan ging es
auch $i und $a waren komplett überflüssig, das kommt davon wenn man schau bücher fragt
also hier nochmal der code für jeden der möchte bzw das mal bei sich sehen möchte, ich finde es ganz interesant.
Code: Alles auswählen
<?php
$dbname = "";
$loginname = "";
$loginpass = "";
$dbhost = "localhost";
$link = @mysql_connect($dbhost, $loginname, $loginpass) or die("<p>Keine Verbindung zur Datenbank möglich! [insertCustomerData()]</p>");
mysql_select_db($dbname) or die("<p>Auswahl der Datenbank fehlgeschlagen!</p>");
//Addition
$query = "select longitude, latitude from phpbb_map_mod_user";
$result = mysql_query($query) or die("<p>Datenbank-Anfrage fehlgeschlagen!<br />[SQL: ".mysql_error()."]</p>");
while ($row = mysql_fetch_array($result) )
{
$summe = $summe + $row['longitude'];
$summe2 = $summe2 + $row['latitude'] ;
}
//Anzahl auslesen
$query = "select user_id from phpbb_map_mod_user";
$result = mysql_query($query) or die("<p>Datenbank-Anfrage fehlgeschlagen!<br />[SQL: ".mysql_error()."]</p>");
while ($row = mysql_fetch_array ($result))
{
}
$anzahl= mysql_num_rows($result);
echo " Anzahl der Einträge: $anzahl";
echo "<br /><br />";
//Durchschnitt
$longi = $summe/$anzahl;
$lati = $summe2/$anzahl;
echo "Longitudendurchschnitt: $longi ";
echo "<br />";
echo "Latitudendurchschnitt: $lati ";
?>