Hi,
nun muss ich doch posten ;-(
Ich hole mir Werte aus einer CSV und DB. Mit diesen Werten (Längen und Breitengrade) wird final die Entfernung zwischen zwei Orten berechnet. Das funkt soweit. Das Ergebnis der Berechnung soll in einem Array gespeichert werden. Ziel ist die Sortierung der Ergebnisse. Es soll der kleinste Wert am Anfang später kommen. Ich wollte es mit sort ($num_wert); bzw. rsort ($num_wert); sortieren lassen.
Mein Problem ist, das es mir nichts sortiert, da ich "vermutlich" bzw. aussagend immer nur einen Wert im Array liegen habe. Es wird aktuell so ausgegeben:
Array ( [0] => 145.17 )
Array ( [0] => 145.17 )
Array ( [0] => 145.66 )
Array ( [0] => 147.73 )
Array ( [0] => 145.39 )
Ich bin zu blö… den richtigen Syntax zu schreiben um das Array richtig zu befüllen.
Kann mir jemand helfen?
nun muss ich doch posten ;-(
Ich hole mir Werte aus einer CSV und DB. Mit diesen Werten (Längen und Breitengrade) wird final die Entfernung zwischen zwei Orten berechnet. Das funkt soweit. Das Ergebnis der Berechnung soll in einem Array gespeichert werden. Ziel ist die Sortierung der Ergebnisse. Es soll der kleinste Wert am Anfang später kommen. Ich wollte es mit sort ($num_wert); bzw. rsort ($num_wert); sortieren lassen.
Mein Problem ist, das es mir nichts sortiert, da ich "vermutlich" bzw. aussagend immer nur einen Wert im Array liegen habe. Es wird aktuell so ausgegeben:
Array ( [0] => 145.17 )
Array ( [0] => 145.17 )
Array ( [0] => 145.66 )
Array ( [0] => 147.73 )
Array ( [0] => 145.39 )
Ich bin zu blö… den richtigen Syntax zu schreiben um das Array richtig zu befüllen.
Kann mir jemand helfen?
PHP-Code:
if($plz != "" AND $circumcircle != ""){
if (($handle = fopen("https://xxxxxxxxx.com/wp-content/plugins/customer-characteristics-pick-out/includes/csv/geodaten.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) {
list($csv_plz, $csv_location, $csv_latitude, $csv_longitude) = explode(";", $data[$c]);
if ($csv_plz == $plz){
echo "<br /><br />Die aktuell eingegebene PLZ: <span style='color: #545454'>".$plz."</span> gehört zu: <span style='color: #545454'>".$csv_location."</span>. Die Suche ergab mit einem Suchradius von:<span style='color: #545454'> ".$circumcircle."</span> km folgende Treffer:";
$pdo = new PDO('mysql:host=xxxxxxxxx.de;dbname=xxxxxxxxx', 'xxxxxxxxx', 'xxxxxxxxx');
$sql = "SELECT latitude, longitude, email, image FROM customer_characteristics WHERE be_women_or_man='".$session_women_or_man."'";
foreach ($pdo->query($sql) as $row) {
$summe_km = round(acos(sin(deg2rad($csv_latitude)) * sin(deg2rad($row['latitude'])) + cos(deg2rad($csv_latitude)) * cos(deg2rad($row['latitude'])) * cos(deg2rad($row['longitude']) - deg2rad($csv_longitude))) * 6380,2);
/* AB HIER HAB ICH MEIN PROBLEM */
$array_summe_km = array($summe_km);
sort ($array_summe_km);
print_r ($array_summe_km);
/* ENDE PROBLEM */
if($summe_km <= $circumcircle){
echo "<div class='div-container'><div class='singles-output'><br /><br /><span style='color: #d1b276'>Entfernung:</span> <span style='color: #545454'>".$summe_km."</span> <span style='color: #d1b276'>km</span><br /><br /><img src='".$row['image']."' style='border: 1px solid #d1b276; border-radius: 4px; width: 330px; height: 330px' alt='Singles'<br /><br /><br /><span style='color: #d1b276'>".$row['email']."</span></div></div>"; } /* else {
echo " | Bitte erweitern Sie den Suchradius um mögliche Treffer zu finden!<br />";
} */
}
}
}
}
}
fclose($handle);
}
Kommentar