# MySQL-Abfrage in JAVASCRIPT



## Sealtuagn (26. April 2005)

Hallo alle zusammen...

trotz tausenmaligen Fragen, und tausenden von Treads, die es hierzu bestimmt schon gibt, frag ich trotzdem mal nach...

Kann mir jemand sagen, wie ich in javascript eine verbindung zu meinem MySQL-Server herstelle und dort die Daten auslesen und vergleichen kann 

Ich möchte so etwas wie in der art Kontrolle von Rechten machen. Nur, damit meine site nicht so lang und groß wird, würde ich das gerne über javascript machen, dass dann die Option jeh nach dem, ob man darf oder nicht Aktiviert/deaktiviert ist !

das kontrollieren ist kein Problem...


```
If (bla)
{ 
  Blabla
} 
else 
{
  bla bla bla
}
```

nur das herstellen der verbindung und das auslesen.... 
Ich weis nicht, wie ich das mit java-script machen kann...


weis es zufällig jemand von euch 
würde mich super über eure Hilfe freuen...


Grüße
Dennis


----------



## con-f-use (26. April 2005)

Prinzipiell geht's rein mit JavaScript gar nicht. JavaScript ist eine client-seitige Sprache und kann daher tenchnisch und aus Sicherheitsgründen nicht auf Serverdaten ( einschließlich Datenbanken, Dateien und/oder Verzeichnissen ) zugreifen. Es gibt aber eine Möglichkeit: Man kombiniert eine serverseitige Sprache (z.B. PHP) mit JavaScript.

    Mehr dazu im Thread: http://www.tutorials.de/tutorials202137-1.html

    Ich glaube dieses Posting des Threads erklärt es ganz gut: http://www.tutorials.de/forum/showpost.php?p=1046402&postcount=15


----------



## Sealtuagn (26. April 2005)

Würdest du sie mir verraten ?
Fnd ich super nett von dir !

Grüße
Dennis


----------



## con-f-use (26. April 2005)

Immer mit der Ruhe ich hab ein wenig Zeit gebraucht um die richtigen URLs rauszusuchen.

 PHP liest bei der Methode die Datenbank aus und gibt den Inhalt als JS-Code aus und JavaScript liest dann das PHP-JS-Script aus.

 Warum machst du eigentlich die If-Abfrage nicht gleich in PHP? Beim Laden der Seite steht doch sicher schon fest, ob der User die Rechte hat oder nicht.

 Wenn es das war, was du gebraucht hast, dann markier doch bitte das Thema als "erledigt". Danke.


----------



## Sealtuagn (26. April 2005)

nein.... 
da ich die daten selbst über javascipt auslesen möchte,
muss ich das leider in javascript machen...
kannst du mir das vielleichtmal erklären, wie das ghet 

ps.: Hab noch ne kleine Frage
Wenn ich ein script habe:

```
$text =  "[LINK] mich";
```

Und ich möchte %text per e-mail verschicken.
Wie kann ich dann [LINK] als einen link darstellen 
also wo ich draufklicken kann, und dann öffnet sich ein fenster mit einer url...
Wie soll das gehen ?


----------



## con-f-use (26. April 2005)

Also wenn du mal den zweiten Post hier anschaust, dann findest du zwei Links. Einer davon führt dich direkt zu einem Beispiel (der untere von beiden), der andere zum Thema wo die php-js-methode genau, also nicht nur anhand eines Beispieles, beschrieben wird. Du klicht auf einen der Liks, vorzugsweise auf den unteren, da du sicher ein schlauer Mensch bist und das Beispiel verstehst, liest dir durch, verstehst und wendest das Prinzip bei deiner Seite an.

  Was die zweite Frage angeht vesteh ich nicht ganz wieso du nicht einfach $text = "<a href=\"[LINK]\" target=\"_blank\">[LINK] mich</a>";​machst. Aber vielleicht hab ich auch die Frage grad verpeilt.


----------



## Sealtuagn (26. April 2005)

Also deine Link-Methode geht nicht ! die variable $text soll ja später las text-E-Mail verschickt werden.
Sagen wirmal, da soll 
"Hallo clerica,
du hst eine neue NAcxhricht.
Loge dich schnell unter [ URL ] ein."

stehen...
wie kann ich das dann per PHP versenden, so das IN der E-Mail dann der Link [ URL ] gesetzt ist !
Also wenn ich dann auf [ URL ] klicken würde, das ich dann auf meine site kommen würed..
Wie geht das 
Bei dir zeigt er einfach den Text an.. also den Tag !

Ich würd mich über eine Antwort von dir mega Freuen !
Danke schon mal...


Grüße
Dennis


----------



## split (27. April 2005)

In dem du das [ URL ] einfach durch die URL (beginnend mit http://) ersetzt?
Wenn du die URL nicht im Klartext in die Mail schreiben willst, musst du die Email im HTML-Format verschicken.


----------



## Sealtuagn (27. April 2005)

Danke ! aber irgendwie komm ich mit den Tutorials nicht klar, die du mir geschickt hast.. sorry !

Kann mir da jemand helfen ?


----------



## con-f-use (27. April 2005)

Wo genau liegt denn dein Problem?


----------



## Sealtuagn (27. April 2005)

bei allem ! ich komm mit dem ganzending net klar ! ich schnall garnichts, was da drinne steht...
:-(

Grüße
Dennis


----------



## con-f-use (27. April 2005)

Ohne, dass du eine konkrete Frage stellst kann ich micht eigentlich nur wiederholen.

            Du willst Daten aus einer MySQL Datenbank. Mit JavaScript alleine geht das technisch nicht, weil man mit JavaScript eigentlich nicht auf Serverdaten zugreifen kann. Es gibt aber eine Ausnahme: JS kann auf Scripts auf dem Server zugreifen. 
  Wenn man nun so ein serverseitiges Script (z.B. ein php-Script), dynamisch erstellt sobald JavaScript versucht es zu landen, kann man sich durch disesen Umweg die Daten aus der Datenbank Ausgeben lassen. Allerdings müss die Ausgabe dann in JS-Code geschrieben sein - das Severscript gibt dann also JS-Text aus.
   Nochmal kurz: JS greift auf PHP-Script zu, PHP-Script greift auf Datenbank zu -> JS hat Datenbankinhalte.

    Konkret erstellst du ein Serverseitiges Script, das bei Aufruf JavaScript-Code ausgibt. Du kannst also z.B. mit dem PHP-Code echo "var daten = \"".$daten."\";"; die PHP-Variable $daten in eine gleichnamige JavaScript-Variable umwandeln. Leider kann ich nur PHP, sonst würde ich dir hier noch nen ASP- oder WASWEISICHWAS-Code als Beispiel geben. Du kannst natürlich vorher auch die Daten aufbereiten oder nur das wirklich Neue rübershicken. Die Ausgabe muss halt nur von JavaScript interpretierbar sein.

  Jetzt musst du dieses Script nur in der Origialdatei, die die Daten braucht laden. Wenn sich die Daten in der Datenbak ändern musst du das Sverseitige Script wieder neu laden. Die Funktion zum Landen des serverseitigen Scripts ist folgenden (kannst du so übernehmen):
	
	
	



```
<script type="text/javascript"><!--
            	function loadScript(url) {
            		skript=document.createElement('SCRIPT');
            		skript.setAttribute('src',url+'?'+new Date().getTime());
            		document.getElementsByTagName('BODY')[0].appendChild(skript);
            	}
  //--></script>
```
wobei der Parameter "url", den Pfad (absolut oder relativ ist egal) zum Serverscript angibt, das bei Aufruf die aktuellen Daten ausgibt. Du benutzt also die Funktion so: " *loadScript('http://confus.co.funpic.de/_data/tut/leadzero.js');* "

  Wenn du jetzt noch immer nichts schnallst, dann stelle entweder eine konkrete Frage, poste deinen Code und sag genau was du damit bewerkstelligen willst oder lern JavaScript richtig (oder fahr zur Hölle, wo der Ratzinger wartet). Deine Wahl!


----------



## Sealtuagn (27. April 2005)

ich habs zwar so halb halb verstanden, aber danke ! ich habe eine andere möglichkeit gefunden !
Ich danke dir !


----------



## con-f-use (27. April 2005)

Lass mich raten: Du hast in diesen Thread geschaut http://www.tutorials.de/tutorials202639.html

 Irgentwo hatte ich mal gesagt, dass es so geht, wenn ein reload der Seite in kauf genommen wird. Ansonsten, wenn es nicht der Thread war, würden wir sicher gerne alle an deiner Ernkenntnis teilhaben.


----------



## Sealtuagn (27. April 2005)

Na das glaube ich... eine Schlichte lösung !
Mein Scrupt sieht so aus:
Meine HTML-Datei sieht so aus:

```
<form name="form1" action="" method="POST">
<input type="hidden" name="hi_eingabe" value="10">
<input type="text" name="eingabe" value="">
<input type="submit" name="SEND" value="Kontrollieren">
</form>
```


Und meine JavaScript-Datei sieht so aus:

```
function check()
{
        var fehler = false;
        if (Number(document.form1.eingabe.value) > document.form1.hi_eingabe.value)
        {
            alert('Deine Eingabe ist mehr, als vorgegeben.');
	    fehler = true;
        }

        if ( !fehler )
        {
            return true;
        }
        else
        {
            fehler = true;
            return false;
        }
}
```

Ich verwende die Variable 'fehler', da ich eigendlich noch mehr Kontrollen in dieser Funktion hatte. 
Die habe ich hier für das Beispiel aber rausgenommen.

Es wird kontrolliert, ob eine Angegebene zahl größer ist, als die Zahl, die Eingegeben wurde. 
Ich war schon irgendwie blöd...


----------



## IQ100 (26. September 2010)

naja ... ich leg dir anhand dessen was ich gelesen habe oder lesen musste *g* nahe die Seiten von selfhtml zu studieren und dich in html und js einzuarbeiten!

Übrigens kann jemand dieses Post löschen oder wenigstens als erledigt abhagen (ich weis das dies leichenschänderei ist, nach der langen zeit aber bei solchen Posts brennt es immer unter meinen Fingernägeln - Sorry)

PS: Für alle die es interessiert, man kann die DB's auch mit ajax und jquery abfragen ... arbeite mich selbst aber auch gerade erst da rein (einfach mal hier suchen - gibt bestimmt einiges hierzu)


----------

