Ajax in Verbindung mit PHP und MySQL

  • Ajax in Verbindung mit PHP und MySQL

    Erstmal Hallo. Ist mein erste Post hier :)

    Ich hab mich jetzt hier seit zwei Tagen hier durchgelesen und ausprobiert.

    Ich muss ehrlich sagen, dass ich nie wirklich den Umgang mit Javascript geübt habe...
    Das was ich brauchte, habe ich mir immer irgendwie zusammengebastelt... Heute stellt sich raus, dass es ein Fehler war.
    Ich dachte, dass was man mit Javascript kann, geht auch mit PHP.

    Ätsch falsch gedacht.. :D
    Da es dank Ajax ja möglich ist eine Seite dynamisch neu zu laden. Davon hab ich immer geträumt... :D

    Jetzt meine Frage. Mich komplett in Javascript einzuarbeiten würde lange dauern. Kurz über lang, habe ich es vor. Aber jetzt zu meiner Frage.


    Erste Frage.
    Ich würde gerne per Klick auf einen Link ein Sql delet befehl ausführen, und wenn der SQL Befehl erfolgreich war, soll ein alert ausgeführt werden.
    In dem Link soll eine ID angehangen werden, damit ich bestimmte Einträge löschen kann.

    Ich habe mir die Seiten und Erklärungen von coder-wiki angeschaut, komm trozdem nicht wirklich dahinter wie das alles Funktioniert... ^^
    Habt ihr ein kleines Beispiel für mich? (=


    Andere Frage. Ich sehe immer wenn nur select Felder...

    Ich habe aber input type Felder...
    Gibt es auch dafür kleine Verständliche Beispiele, wie ich diese per Ajax an eine PHP-Seite schicke, und dort ein SQL Insert oder Update Befehl ausführe?



    Schönen Abend noch, und danke für die Hilfe im Vorraus.

    Greez Snow (=
  • Ja das stimmt, er hat wenig Erklärungen.

    Aber okay man kann ja auch nicht alles erleutern.
    Irgendwo muss das ganze einen Rahmen einhalten, sonst würdest du ja sicherlich doppel solang an diesen Scripten sitzen, wenn du Zeile für Zeile noch erklären
    wurdest. Sicherlich für Anfänger wie mich nicht schlecht. Aber nicht zwingend notwendig.
    Ich verstehe zwar nicht wirklich ( vlt 30-40% ), was da passiert in der Javascript funktion.

    Aber ich bekomme es ans laufen. Minimal abgeändert auf meine Wünsche... So hab ich auch mit PHP angefangen. (=
    Aber Ajax/Js scheint mir sehr viel Komplexer.

    Aber nochmal danke. :)


    EDIT://

    Da hab ich doch gleich eine Frage, die mir gerade so beim Programmieren aufgekommen ist.

    <a href=\"javascript:makeRequest('seitenname.php', '?id=$id');\">Link</a>";

    Frage, kann man in der Funktion makeRequest festlegen,

    dass ich z.b. makeRequest('topicdel,?id=$id') schreiben kann, und in der Funktion topicdel dann defeniert wird mit topicdel=topic_del.php;

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Snowflake ()

  • Snowflake schrieb:

    dass ich z.b. makeRequest('topicdel,?id=$id') schreiben kann, und in der Funktion topicdel dann defeniert wird mit topicdel=topic_del.php;
    AJAX hat im Grunde nichts mit PHP zu tun. Beschränkte dich also bei Fragen zu JavaScript Code auf bereits geparsten Code... so wie er auch im Browser einsehbar ist.
    D.h. zum Beispiel <a href="#" onclick="makeRequest('seitenname.php', '?id=5')">Link</a>

    Ansonsten verstehe ich deine Frage nicht. Was soll topicdel sein? Funktion? Url?

    Wenn du GET Parameter bauen willst, dann musst du dir die URL selber zusammenbauen.

    Beispiel ohne GET Parameter

    Quellcode

    1. req.open('GET', 'status.php');


    mit festem GET Parameter

    Quellcode

    1. req.open('GET', 'status.php?id=5');


    mit dynamischem GET Parameter

    Quellcode

    1. function foo(id) {
    2. ....
    3. req.open('GET', 'status.php?id='+id);
    4. ...
    5. }
  • Achsoo. Also $id hatte ich eingesetzt, da ich
    " <a href=\"javascript:makeRequest('seitenname.php', '?id=$id');\">Link</a>";"

    in einer sql schleife laufen lasse.

    Tut mir leid, aber ich sollte vieleicht doch mir erstmal die Javascript basic's angucken, denn ich verstehe relativ wenig davon, was du mir da Schreibst...

    Also nicht falschverstehen, ich verstehe das nicht, nicht weil du es schlecht ausdrückst... sondern weil ich einfach zu wenig Grundwissen habe... und immer nur rumexperentieren ist auch nicht das wahre... ^^

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Snowflake ()

  • Hi, erstmal sry für den Doppelpost, wusste aber nicht ob sich der Thread beim edit nach oben pushed, und ein neues Thema wäre sinnlos gewesen.
    Ich hätte noch mal ein kurzes Problem... ^^ (Falls ich irgendwie nerven sollte, müsst ihr mir das sagen... ^^ )

    Hab mein Script jetzt fast komplett auf AJAX umgestellt, funktioniert auch echt alles super, muss ich sagen... auch nochmal danke für das Script von dir :)

    Jetzt habe ich nur ein Problem, dass mit bei einer Checkbox immer on zurückgegeben wird. So sieht das Script bis jetzt aus. Also der HTML/AJAX-Teil.

    "<form method=\"POST\" name=\"create\" id=\"create\" onsubmit=\"return sendRequest('text='+this.text.value+'&thema='+this.thema.value+'&foto='+this.foto.value,'goc_entry.php');\">"

    thema, und text sind einfache input type felder, die auch richtig übermittelt werden.
    Nur bei foto, welches eine checkbox ist, kommt halt immer on raus.

    Liegt es dadran? "&foto='+this.foto.value"
  • der Checkbox Wert ist ja auch on ;)
    Nein Spaß, ich was was du meinst. Aber in dem Fall musst du prüfen ob sie angekreuzt ist

    kennst du den Trinitätsoperator

    Quellcode

    1. var x = (true ? "schreibe true" : "schreibe falsch");


    an deinem Beispiel:

    Quellcode

    1. sendRequest('text='+this.text.value+'&thema='+this.thema.value+(this.foto.checked ? '&foto='+this.foto.value : ''),'goc_entry.php')
  • Ach du bist echt genial danke. Was du alles kannst, kann ich nur mein respekt ausdrücken... (=

    Aber ich bin irgendwie zu dumm für die Sprache xD

    Das mit der einen Checkbox funktioniert wunderbar... verstehe ich auch, also den Befehl... Aber ich hab ausversehn vergessen, dass ich noch eine habe, die in dem Formular ist..

    Ich habs versucht mit +(this.rechte.checked ? '&rechte='+this.rechte.value : '') funktioniert aber nicht... ^^

    edit:// mein fehler, geht doch... :D

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Snowflake ()