Daten speichern

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IcyIvy

Neues Mitglied
27 September 2016
8
0
1
30
Hi,

Ich hab ehrlich gesagt nicht mal so richtig einen Plan wo meine Frage hingehört.

Ich muss in einer Webbasierten Befragungssoftware Daten außerhalb der eigentlichen Datenbank ablegen um sie ein paar Seiten später wieder abrufen zu können. Die Software gibt das nicht her.
Nun habe ich gedacht man könnte die eingegebenen Daten zusätzlich irgendwo anders speichern und sie dort wieder her holen. Ich habe bei der Software die Möglichkeit eine Benutzerdefinierte Seite anzulegen bei der ich Recht frei bin, was die Programmierung angeht.
Ich glaube eine MySQL-Datenbank zu nutzen wäre nicht machbar, oder? Kann ich von einem Server da einfach auf einem anderen Daten ablegen? Gibt es da noch andere Möglichkeiten?
Bin gerade echt überfragt...

Vielen Dank schonmal für Antworten.
Ivy
 

IcyIvy

Neues Mitglied
27 September 2016
8
0
1
30
Ah, ich Depp hab vergessen zu erwähnen, dass es über verschiedene Sessions abrufbar sein muss. Ich hab quasi 2 Leute, die die Befragung bearbeiten und der eine muss die Antwort des jeweils anderen sehen können.
Das kann ich mit der Software nicht machen.

Ich weiß es nicht genau. Ich hab gelesen, dass es eher schwierig ist auf eine MySQL-Datenbank zuzugreifen, die auf einem anderen Server liegt. Ich könnte mir auch vorstellen, dass es von der Software aus gar nicht möglich ist. Leider kenne ich mich mit MySQL nicht sehr gut aus.
Gibt es einen einfachen Weg das zu testen?
 
B

bdt600

Guest
Man kann auf eine MySQL-Datenbank auf einem anderen Server zugreifen, wenn die entsprechenden Rechte in MySQL gesetzt werden.
 

Tronjer

Moderator
Team
Moderator
8 Oktober 2010
5.066
428
83
Berlin
Ich hab quasi 2 Leute, die die Befragung bearbeiten und der eine muss die Antwort des jeweils anderen sehen können.
Das kann ich mit der Software nicht machen.
Das heißt, du hast 2 Clients, user_a und user_b, und falls einer der beiden eine Frage beantwortet, sollen beide Clients automatisch upgedatet werden?

Ich würde erst mal schauen, ob und welche APIs die Software für solche Fälle offeriert. Escenic bietet dafür bsw. eine JavaScript API an.

Alternativ dazu wäre eine webbasierte Lösung mit 3-way-binding denkbar. Mit Firebase ginge das über ein cloudbasiertes Backend.
https://www.firebase.com/
 

IcyIvy

Neues Mitglied
27 September 2016
8
0
1
30
Erstmal danke für eure Antworten.
Das heißt, du hast 2 Clients, user_a und user_b, und falls einer der beiden eine Frage beantwortet, sollen beide Clients automatisch upgedatet werden?
Ja, aber das soll nicht sofort passieren. Es soll ein paar Seiten später eine Art Vergleich geben, wo die Antworten beider Teilnehmer dargestellt sind und dazu weitere Items erhoben werden. Man darf von der Software aus, aber ausschließlich auf die Daten des aktuellen Teilnehmers zugreifen und nicht auf die eines anderen.
Das Projekt ist noch in Planung, daher habe ich leider nur eine grobe Beschreibung der gewünschten Funktionalitäten und muss nun herausfinden, ob das mit der Software machbar ist.

Ich würde erst mal schauen, ob und welche APIs die Software für solche Fälle offeriert. Escenic bietet dafür bsw. eine JavaScript API an.
Also direkt eine API, die unter dem Begriff zusammengefasst ist, bietet das System soweit ich weiß gar nicht an. Auch in der Dokumentation finde ich nichts dazu. Die einzige Möglichkeit um selbst etwas zu gestalten ist das Anlegen einer Benutzerdefinierten Seite. Darin habe ich allerdings schon einmal mit JavaScript gearbeitet, was also zugelassen wird. Als ich eben das mit der MySQL-Datenbank mal testen wollte, musste ich feststellen, dass man offensichtlich kein PHP verwenden darf.

Alternativ dazu wäre eine webbasierte Lösung mit 3-way-binding denkbar. Mit Firebase ginge das über ein cloudbasiertes Backend.
https://www.firebase.com/
Das kannte ich bisher nicht, aber ich werde mich mal einlesen. Danke für den Hinweis.

LG
Ivy
 

Tronjer

Moderator
Team
Moderator
8 Oktober 2010
5.066
428
83
Berlin
Vorausgesetzt, dass sich von dieser benutzerdefinierten Seite Cross-Origin-Requests senden lassen, dürfte die Aufgabe relativ einfach sein. Jede Antwort wird per Ajax an eine Datenbank gesendet und am Ende die Datensätze beider User ausgelesen. Dazu braucht es weder PHP noch MySQL, sondern lediglich JavaScript und einen cloudbasierten Service. Firebase wäre einer, aber es gibt auch Backand, MongoLab und diverse andere, die sich in der Basisversion kostenlos nutzen lassen.
 

IcyIvy

Neues Mitglied
27 September 2016
8
0
1
30
Huhu,
Ich brauche leider nochmal Hilfe.
Ich halte das mit dem cloudbasiertem Service für eine gute Lösung (wenn es denn funktioniert)
Leider bin ich irgendwie nicht in der Lage das vernünftig zu testen. Ich habe Firebase genutzt und mit Hilfe der Dokumentation versucht das ganze zum Laufen zu bringen. Ich bin aber kläglich gescheitert. Liegt vermutlich an meiner noch eher geringen Kenntnis von JavaScript und Ajax. Ich muss einfach wissen, ob das funktioniert. Wenn ja, würden wir uns jemanden suchen, der uns das nach unseren Bedürfnissen zusammenbaut. Ich nehme an, dass meine Kenntnisse dafür leider nicht ausreichen.
Aber vielleicht kann mir jemand von euch helfen das zu testen.

Gemäß der Dokumentation habe ich den Teil mit meinen Zugangsdaten eingefügt. (hab einfach das Script genommen, dass mir Firebase selbst unter "Add Firebase to your web app" zur Verfügung gestellt hat.)

Ich habe eine Datenbank erstellt und die mit den zwei kleinen Inhalten gefüllt. Irgendwie habe ich auch noch nicht herausgefunden, wie ich die Zweige noch "tiefer" erstellen kann, aber das ist erstmal nicht so wichtig.
Testname:'Name'
Testvariable
:'2'

Dann wollte ich versuchen diese auf meiner Seite im Programm aufzurufen. Aber genau das bekomme ich nicht hin.
Wäre irgendjemand, der weiß wie man das macht so lieb, mir ein paar Scriptzeilen zu schreiben, dass ich das testen kann?
Mein Problem ist, dass ich nicht weiß ob es nur nicht funtkioniert, weil ich zu dumm bin das richtig zu schreiben oder weil das vom Programm aus wieder nicht geht.
Die Dokumentation hat ein Beispiel, aber ich krieg das nicht auf meine Datenbank umgemünzt.
HTML:
var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) {
  var username = snapshot.val().username;
  // ...
});
Vielen Dank schonmal
Ivy
 

Tronjer

Moderator
Team
Moderator
8 Oktober 2010
5.066
428
83
Berlin
Ist eigentlich nicht so schwer. Nachfolgend habe ich meine App trashemo genannt und dort einen key users mit zwei Usern angelegt.
Code:
trashemo
|
---- users
        |
         ----- aturing
        |
         ----- gracehop
Im einfachsten Fall lässt sich darauf über Endpoints zugreifen, die so aufgebaut sind:
appname + '.firebaseio.com/' + keyname + '.json'
appname + '.firebaseio.com/' + keyname + '/' + username + '.json'

also:
https://trashemo.firebaseio.com/users.json
https://trashemo.firebaseio.com/users/gracehop.json
 

IcyIvy

Neues Mitglied
27 September 2016
8
0
1
30
Huhu,

oh super! Ich musste zwar ein paar Webseiten wälzen um herauszufinden, wie ich diese Adressen nutze, aber ich hab es tatsächlich geschafft die Daten aufzurufen. *freu*
Vielen, Vielen Dank!
Wenn ich es jetzt noch hinbekomme da Daten in die Datenbank reinzuladen, bin ich sehr glücklich :)
Danke, ihr habt (bzw. du hast) mir wahnsinnig geholfen.

LG
Ivy
 
Werbung:

Latest posts