Dringende Hilfe bei Skriptänderung netzwolf.info csv in php [gelöst]:)

Hallo zusammen,
ich brauche dringend schnelle Hilfe bei folgendem Problem:
In http://www.netzwolf.info/kartografie/openlayers/csv_angepasst_tooltip werden die Daten für die POI aus einer CSV Datei eingelsen.
Wie kann ich das statt dessen mit einer PHP Abfrage realisieren.
Vielen Dank im Voraus.

Am einfachsten ist es wahrscheinlich wenn du mit der php eine Ausgabe erzeugst welche wie die csv datei aufgebaut ist. Wenn dir das geglückt ist würde ich einfach mal die gipfel.csv durch deine gipfel.php ersetzen und probieren was passiert.

Nahmd,

Das JavaScript (ausgeführt im Browser) ruft eine URL auf (auf dem Server) und erwartet, dass der Server etwas CSV-artiges zurückliefert. Ob auf dem Server eine statische Datei liegt oder ob der Server dynamisch etwas zusammenstellt, ist dem JavaScript egal.

Genau so wirds gemacht.

Und weil es dringend ist und schnell gehen muss, hab ich ein paar Möglichkeiten zusammengestellt, wie man aus PHP heraus Zeilen mit Tab-getrennten Feldern erzeugen kann.

Gruß Wolf

Zunächst mal vielen Dank für die Antworten.
Ich habe mich in den letzten Stunden damit beschäftigt und bin nun auch ein wenig schlauer. Aber leider ergibt mein Vorhaben kein verwendbares Ergebnis. Vieleicht ist mein Ansatz da auch föllig falsch. Trotzdem will ich jetzt erstmal versuchen, dass, was jetz nícht läuft zu klären:
Meine Karte wir nach meiner PHP-Abfrage nicht mehr angezeigt:

<?php
header ("Content-Type: text/plain; charset=UTF-8");
	mysql_connect("localhost","root","");
	mysql_select_db("osm-html");
	$res = mysql_query("select * from marker");
	$num = mysql_num_rows($res);
	
	echo "id\tlat\tlon\tort\thit\tteas\n";

	while ($dsatz = mysql_fetch_assoc($res))
	{
		$satz = join("\t", array($dsatz["id"], $dsatz["lat"], $dsatz["lon"], $dsatz["ort"], $dsatz["hit"], $dsatz["teas"]))."\n";
		echo $satz;
	}
?>

Was ist hier falsch?

Wenn ich dein Script beispielhaft bei mir durchlaufen lasse, gibt es zumindest keine Fehler und Daten werden auch auf den ersten Blick korrekt formatiert ausgespuckt. Kannst du denn deine erzeugte Ausgabe bereitstellen, bzw. was passiert, wenn du nicht die Karte, sondern das Ausgabescript direkt aufrufst (bitte angewöhnen zur Fehlersuche)? Möglicherweise hast du tödliche Sonderzeichen drin oder anderweitige, unvorhergesehene Spielverderber, denn das Script läuft ja soweit fehlerfrei, der Fehler muss folglich in der Ausgabe und nachfolgend liegen.

Ja das kann ich nur unterstreichen. Es gibt bei verschiedenen Providern immer wieder Probleme wenn php Sonderzeichen verarbeiten soll. Da reichen zum Beispiel Umlaute aus. Ganz zu schweigen von ", &, < oder ähnlichem.

Hallo zusammen und nochmals vielen Dank für die Hilfe.
Als ich dann heute Nacht im Bett lag, war mir dann auch klar, dass meine Frage, was falsch ist nicht ausreichend formuliert war und ich keine helfende Antwort erwarten kann.
Zunächst an Canis Gid: Ja, das PHP-Skript funktioniert einwandfrei und gibt aus, was es soll. Was evtl. angepasst werden muss und was ich auch versucht habe, ist die JS-Funktion in csv_angepasst_tooltip_php.htm.
Diese habe ich - vermutlich falsch - wie folgt geändert:

	//****************************************************************************
	//	Marker-Layer - anpassen!
	//****************************************************************************

	map.addLayer (new OpenLayers.Layer.PopupMarker("Gipfel", {

		createHtmlFromData: function (data) {

			return "<p>"+this.html(data.teas)";
		},

		createTooltipFromData: function (data) {

			return this.html(data.hit);
		},

		icon: new OpenLayers.Icon ("pin.png", {w:28,h:28}, {x:0,y:-28}),

		location: "mecker.php"
	} ));

	//****************************************************************************
	//	Marker-Layer - anpassen!
	//****************************************************************************

Ich hoffe, das hilft weiter.

Ach übrigens: Das Ganze läuft bei mir lokal auf nem XAMPP 3.2.1

Wie Blöd, ich hab den Fehler gefunden.

VIELEN DANK, IHR SEID MEINE RETTUNG!!!

toll - und was war es?

gruss
walter

return "<p>"+this.html(data.teas)";

" am Ende zu viel. :smiley:

Aber ma nebenbei: Wie stellt man hier eigentlich eine Thread auf gelöst?

Ganz einfach:
Du änderst deinen ersten Beitrag in diesem Thread, indem du auf Bearbeiten klickst (sieht nur der Ersteller des Beitrags). Dann änderst du die Betreff-Zeile, indem du in Klammern “gelöst” dahinter schreibst. Vorschau, ggfs Korrekturen, dann Abschicken. Erledigt! Einen speziellen Schalter gibt es in diesem Forum nicht dafür.

PS: Da es noch keiner geschrieben hat: Willkommen im Forum.

Edbert (EvanE)

Danke, super fix geholfen.