Datenbank mit js auslesen?
JCB
- javascript
Hallöchen :)!
Also irgendwie hab ichs im Moment mit Datenbanken :). Somit stoß ich irgendwie auch immer wieder auf neue Probleme :(. Meine Frage bezieht sich auf die Datenanbindung von Microsoft (http://www.teamone.de/selfhtml/tfbb.htm#a2). Kann man die Daten eines einzelnen Datensatzes auch mit JS auslesen, damit man sie z.B. für ein Diagramm weiterverwenden kann? Oder gibt es dies bezüglich noch andere Lösungen? Also ich wär jür jede Hilfe sehr dankbar, denn ich bin wieder mal am verzweifeln.
Gruß, Jan
www.Planet-1.de
Hallo auch,
Datenbankzugriffe und Java Script haben absolut nix miteinander zu tun, es sei denn Du meinst serverseitiges JScript unter ASP.
Dann gibt es z.B. bei <www.aspfaq.de> jede Menge Infos dazu.
Gruss
Christian
Hallo Christian!
Würde mein Server ASP, CGI etc. unterstützen wär das Leben bestimmt um einiges leichter nur das tut er leider nicht :o(. Deshalb bin ich ständig auf der Suche nach anderen Lösungen :|. Gibts wirklich keine auf Javascript basierende Lösung??
Gruß, Jan
www.Planet-1.de
Hallo JCB
Gibts wirklich keine auf Javascript basierende Lösung??
JavaScript ist eine clientseitige Lösung. Da kannst du nichts auf dem Server auslesen. Punkt
Tschö Matti
Hi Du!
Also irgendwie hab ichs im Moment mit Datenbanken :). Somit stoß ich irgendwie auch immer wieder auf neue Probleme :(. Meine Frage bezieht sich auf die Datenanbindung von Microsoft (http://www.teamone.de/selfhtml/tfbb.htm#a2). Kann man die Daten eines einzelnen Datensatzes auch mit JS auslesen, damit man sie z.B. für ein Diagramm weiterverwenden kann? Oder gibt es dies bezüglich noch andere Lösungen? Also ich wär jür jede Hilfe sehr dankbar, denn ich bin wieder mal am verzweifeln.
Zunächst empfehle ich Dir mal die Lektüre meines etwas weiter oben stehenden Posting "kleine Hilfe ...." :). Damit kannst Du dann mit einem Dokument, dass dem von Dir angegebenen Beispiel entspricht mal prima gucken, was für Eigenschaften das Objekt document.all.TABELLENBEZEICHNER denn nun hat.
Dumm allerdings ist, dass es nur für IE wäre (auch wenn NN sowieso nicht mehr lange macht :( ).
Ich habe aber grad' 'ne echt tolle Idee, wie man Dein Problem lösen könnte, ohne serverseitiges Skript. Dazu müsstest Du die Dateien mit den Datensätzen allerdings so aussehen:
<html>
<head>
<script language="JavaScript">
var dataNames = new Array('Name','Vorname','Strasse','PLZ','Ort','Tel','EMail');
var dataContent = new Array('Berger','Hans','Pfisterstr.11','38487','Grubenhausen','04987-4445631','berger@kabumm.de');
</script>
</head>
<body onload="parent.frames[0].dataLoaded = true;">
</body>
</html>
(Sagen wir mal, die Datei heißt jetzt z.B. "datensatz0.html")
Dann brauchst Du zu dem ganzen Konzept auch noch (mindestens) 2 Frames. Eins, in dem die ganze Datenrequesterei durch den User stattfinden soll, und noch eins, das man nicht sehen sollte/muss ( ... rows="100%,*" ...).
Wenn nun jemand in Frame 0 einen Datensatz anfordert, machst Du mit JS einfach folgendes:
dataLoaded = false;
parent.frames[1].location.replace('datensatz0.html');
status = 'Lade Datensatz...';
while (!dataLoaded) {};
status = 'Datensatz geladen';
Jetzt kannst Du mit einer Funktion, die Dir die Daten aus parent.frames[1].dataContent ausliest, das ganze etwas komfortabler zu handeln machen. Also eine Funktion, in die Du als Argument den Bezeichner des Datums, das Du haben willst (z.B. 'Name') reinsteckst, und die Dir dann den Wert returned:
function getData(name)
{ m = -1;
for (n = 0; n < parent.frames[1].dataNames.length; n++)
if (parent.frames[1].dataNames[n].toLowerCase().indexOf(name.toLowerCase()) != -1) m = n;
return ((m == -1)?'no such data found':parent.frames[1].dataContent[m])
}
Viel Spaß damit, Wozu auch immer das nützen soll :). Dau kannst das ganze Konzept natürlich noch erweitern (z.B. mehrere Datensätze in eine Datei (was sicher sinnvoll wäre :) etc...)
(Hoffentlich hab' ich mich nicht verschusselt, ist ungetestet...)
Mirko
Ich glaub, so ist's besser ;) :
function getData(name)
{ m = -1;
for (n = 0; n < parent.frames[1].dataNames.length; n++)
{ if ( parent.frames[1].dataNames[n].toLowerCase() == name.toLowerCase() ) m = n; }
return ((m == -1)? 'no such data found':parent.frames[1].dataContent[m])
}
Mirko
Hi Mirko!
Erstmal danke für deine Mühe :). Nur leider hätte mir das script nix genützt, denn die datenbankdatei muß genauso aussehen wie im Beispiel. Und Anfrage und Ausgabe mußten auch in einer Datei sein. Naja, trotzdem danke :)!
Aber jetzt mal ne Frage an die anderen, die gesagt haben es ginge nicht *g*: wo liegt das Problem :)? Zu mal ich jetzt noch ne einfachere Lösung gefunden hab als Mirko. Es kommt mir allerdings wieder zu einfach vor und ich glaub fast dass ihr meine Frage nicht ganz richtig verstanden habt :). Anders kann ichs mir schon nicht mehr erklären *g*.
Also, wer sagt denn dass man die daten unbedingt in einem SPAN anzeigen muß?? Wenn man alle SPANS in einem Formular als INPUT zusammenfasst, kann man diese doch nachher wunderbar mit JS auslesen und somit auch indirekt mit JS auf die Datenbank zugreifen. War das nu zu einfach oder wie? ;o)
Gruß, Jan
www.planet-1.de