Statistik |
Beiträge: 144.531 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 332%
Ausl. d. letzten 5 Minuten: 332%
Ausl. d. letzten 15 Minuten: 275%
Aktulle Uhrzeit: 19:44
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
|
|
Stand Alone User-Map |
|
Halli Hallo,
ich versuche momentan bei der Stand Alone User-Map folgendes:
Auf der Startseite soll eine Auswahlliste erscheinen aus der man verschiedene Eigenschaften auswählen können soll. Auf der User-Map sollen dann nur diejenigen User angezeigt werden, auf die diese Eigenschaft zutreffen. Das habe ich bisher auch mehr oder weniger erfolgreich umgesetzt.
Bisher habe ich dazu in der Datenbank ein neues Feld "Eigenschaft" in die Tabelle vg_map_mod_user eingefüget und auch eine Auswahlliste per Formular in das mod_map.tpl eingefügt. (Momentan zum Testen über Radiobuttons, soll aber später eine Liste werden. Ist aber für mein Problem irrelevant.)
php: |
1:
2:
3:
4:
5:
6:
|
<form action="map.php" method="post">
<input type="radio" name="eigenschaft" value="schwarz" /> schwarz<br />
<input type="radio" name="eigenschaft" value="gelb" /> gelb<br />
<input type="radio" name="eigenschaft" value="rot" /> rot<br />
<input type="submit" name="GO" value="GO!" />
</form> |
|
Die Variable wird auch korrekt an die map.php per $eigenschaft = $_POST['eigenschaft'] übergeben.
Nun habe ich aber das Problem, dass ich nicht weiß, wie ich die Variable aus dem Formular bzw. der map.php in die Funktion calculate_user_coordinates() in der map_functions.php bekommen soll, denn da soll sie in die Query mit rein.
Etwa so:
php: |
1:
|
@mysql_query("SELECT * FROM vg_map_mod_user WHERE (longitude != 0 OR latitude != 0) && Eigenschaft = '$eigenschaft'"); |
|
Wenn ich die Eigenschaft "von Hand" dort eintrage, dann klappt es auch, also z.B. so
php: |
1:
|
@mysql_query("SELECT * FROM vg_map_mod_user WHERE (longitude != 0 OR latitude != 0) && Eigenschaft = 'rot'"); |
|
Mit dieser Änderung werden mir dann nur die User mit der Eigenschaft "rot" auf der Karte angezeigt. Klappt also wunderbar, wie ich es wollte, lediglich die Übergabe der Variable von der Liste in die Funktion gelingt mir nicht.
Irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr und hoffe deshalb auf eure Denkanstöße.
Ich hoffe, ich konnte verständlich machen, was ich meine, sonst einfach fragen.
Bin für jeden Tipp dankbar!
__________________ www.katzenfreunde-forum.de
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Rabax: 28.05.2008 03:00.
|
|
28.05.2008 02:58 |
|
|
|
Hallo Viktor,
danke für den Tipp!
Die Funktion wbb_trim() gibt es allerdings nicht bei der Stand Alone Version. Werde also mal die WBB-Originaldateien durchforsten und hoffen, dass ich sie da finde.
EDIT: O.K., die Funktion habe ich, aber trotz allem klappt es nicht. Hier mal die komplette Funktion mit der Query:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
|
function calculate_user_coordinates() {
global $distance, $users, $destination_width, $destination_height, $self_longitude, $self_latitude, $lang,
$near_longitude,$near_latitude, $near_id, $self_id, $SID_ARG_2ND_UN, $wanted_map, $sid, $session, $tpl, $eigenschaft;
my_connect();
$result = @mysql_query("SELECT * FROM vg_map_mod_user WHERE (longitude != 0 OR latitude != 0) && Eigenschaft = '$eigenschaft'");
$distance=array();
$users=array();
while( $row = @mysql_fetch_array($result) ) {
$x = longitude_to_pixel($row['longitude']);
$y = latitude_to_pixel($row['latitude']);
if (($x>=0)&&($y>=0)&&($x<=$destination_width)&&($y<=$destination_height)){
$user=$row;
$user['x'] = $x;
$user['y'] = $y;
$user['u_map'] = "map.php?highlight=".$row['user_id']."&map=".$wanted_map."&sid=".$session[hash];
$user['distance'] =($self_id>0? distance_string(geo_distance($self_longitude, $self_latitude, $row['longitude'], $row['latitude'])) : '(Nur registrierte Nutzer)');
array_push($users,$user);
}
/* put the information also in the list of near users */
if (($near_id>0) && ($row['user_id']!=$near_id)) {
$d = geo_distance($near_longitude,$near_latitude,$row['longitude'],$row['latitude']);
array_push($distance,array($d,$row));
}
}
my_close();
} |
|
Wenn ich in die Query die Eigenschaft per Hand eingebe, dann geht's doch, warum geht's mit der Variablen nicht?
EDIT2:
Es ist zum Mäuse melken
Wenn ich in die Funktion ein echo $eigenschaft; einbaue, dann wird der Inhalt der Variablen auch angezeigt. Die Variable ist also innerhalb der Funktion vorhanden und korrekt gesetzt, aber in der Query klappt das nicht.
Habe ich bei der Query vielleicht einen Fehler in der Schreibweise oder sowas in der Art?
Edit3:
Hab es auch schon mit
php: |
1:
|
$result = @mysql_query("SELECT * FROM vg_map_mod_user WHERE (longitude != 0 OR latitude != 0) && Eigenschaft = '".$eigenschaft."'"); |
|
getestet. Geht aber auch nicht.
__________________ www.katzenfreunde-forum.de
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Rabax: 29.05.2008 02:19.
|
|
29.05.2008 00:02 |
|
|
|
|
Zitat: Original von Viktor
Hallo,
ist das Feld in der Tabelle wirklich groß geschrieben "Eigenschaft".
Bitte auch Groß und Kleinschreibung achten.
Gruß
Viktor
|
|
|
Ja, ist genauso geschrieben. Habe es jetzt mal testweise in der Tabelle klein geschrieben, aber bringt natürlich auch nix.
Wie gesagt klappt es ja auch, wenn ich statt der Variablen direkt eine Eigenschaft, z.B. "rot", in die Query schreibe. Die Query funktioniert also so wie sie ist, lediglich die Variable wird nicht ausgelesen und genau das ist das Problem.
EDIT:
Ich weiß einfach nicht weiter. Theoretisch stimmt alles, aber praktisch klappt nix.
Ich habe mal meine leicht geänderten Dateien angehängt und ein Screenshot der Tabellenstruktur. Alle Änderung habe ich mit // Rabax markiert.
Wäre nett, wenn ihr euch das mal ansehen könntet, denn ich finde einfach keinen Fehler und normalerweise müsste es klappen, aber es klappt eben nicht.
Inhalt von dateien.zip:
map.php
/includes/map_functions.php
/templates/mod_map.tpl
__________________ www.katzenfreunde-forum.de
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Rabax: 30.05.2008 01:41.
|
|
29.05.2008 23:52 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.755.576
Nächster Level: 266.777.854
|
|
|
30.05.2008 19:57 |
|
|
|
|
Zitat: Original von Viktor
Hallo,
jo sollte eigentlich so klappen.
Ich glaube ich muss es mal bei mir selbst testen.
Gruß
Viktor
|
|
|
Das wäre supernett von dir, denn ich brüte jetzt schon seit Tagen über dem Problem und finde einfach keine Lösung.
Eventuell ist das ja dann auch für andere interessant.
__________________ www.katzenfreunde-forum.de
|
|
31.05.2008 22:48 |
|
|
|
Hallo Viktor,
wollte mal vorsichtig nachfragen: Hattest Du schon Zeit und Lust das mal bei dir zu testen?
__________________ www.katzenfreunde-forum.de
|
|
06.06.2008 21:46 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.755.576
Nächster Level: 266.777.854
|
|
|
06.06.2008 21:55 |
|
|
|
7 Monate später und das Problem hat mich wieder eingeholt.
Könntest Du noch mal schauen und es selber mal testen, wäre supernett.
__________________ www.katzenfreunde-forum.de
|
|
18.01.2009 00:59 |
|
|
|
Hallo Viktor,
vielen lieben Dank!!! Es klappt!!!
Ich weiß zwar noch nicht, was Du verändert hast, aber ich werde die alten und neuen Dateien mal vergleichen. Bin gespannt, woran es lag.
Dafür gibt's natürlich ein lecker Bierchen Marke "Virtual Pils".
Dankeschön!!!
__________________ www.katzenfreunde-forum.de
|
|
19.01.2009 17:41 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.755.576
Nächster Level: 266.777.854
|
|
|
19.01.2009 20:33 |
|
|
|
|
|
|