Wie kann cih mit AJAX ein Update auf einer MySQL Tabelle machen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie kann cih mit AJAX ein Update auf einer MySQL Tabelle machen?

    Hallo,

    Wie kann ich mir Ajax ein Update auf eine MySQl Tabelle machen?
    Die Selects funktionieren alle sper, aber das Update nicht..

    Muss ich was bestimmtes beachten?

    Der MySQL Code ist 100% richtig und tests werden auch ausgegeben.

    Danke im Voraus.
    Zuletzt geändert von BananaJo; 13.08.2008, 07:40.

  • #2
    ohne code müsste ich meine glaskugel befragen, was bei dir falsch ist.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Ich vermute du machst dein Update nicht mit Ajax sondern mit PHP.

      Poste mal die Codes. Und zu aller erst versuche bitte dein PHP Update Script mit folgender Zeile ganz am Anfang zu ergänzen.

      PHP-Code:
      header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); 
      Download ET-Chat v3.x.x

      Kommentar


      • #4
        Ich kann grade keinen Code Posten, da ich nicht zuhause bin.

        Ja, mein update erledige ich mit PHP.

        Kommentar


        • #5
          Hi..

          dies ist nun die PHP Datei mit dem Select.

          die Ajax Dateien sind denke ich unwichtig, da sie Funktionieren, weil sie ja die anderen Selects aus der gleichen PHP Datei ausgeben.

          PHP-Code:
          if($aktion == "speichern_identitaet")
          {
          // Abfrage bei der Datenbank

              //a="+action+"&b="+benutzer+"&pg="+produktgruppe"&p="+produkt+"&f="+forum";

              
          $benutzer $_POST["b"]; //id in identitaeten
              
          $produktgruppe $_POST["pg"]; 
              
          $produkt $_POST["p"];
              
          $forum $_POST["f"];
              
                  
          $sql "SELECT * FROM identitaeten 
          WHERE id = 
          $benutzer";

              
              
          $query mysql_query($sql);

              if(
          mysql_num_rows($query)==0)
                  {
                  
                  
          $ausgabe  "Keine Daten vorhanden";        
                  echo 
          $ausgabe;
                          
              }else
              {
                      while(
          $mach=mysql_fetch_array($query,MYSQL_BOTH))
                      {                    
                          
          $iid $mach[iid];            
                      }
                      
                      
          $userid substr($iid0,2);
                      
                      
          $identitaetID substr($iid6,2);//id aus tabelle identität
                      
                      
          $iidNeu $userid."-".$produktgruppe."-".$identitaetID;

                      
          mysql_query("UPDATE identitaeten SET 
          iid='"
          .$iidNeu."', forum='".$forum."', produkt='".$produkt."' 
          WHERE id='"
          .$benutzer."';");
                      
                      echo 
          "UPDATE identitaeten SET iid=$iidNeu
          forum=
          $forum, produkt=$produkt 
          WHERE id=
          $benutzer;";
                                  
                  
          //echo "Erfolgreich gespeichert";        
              
          }
          }
          //Ende Produktgruppen 
          header('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0');
          das bewirkt auch nix.. was sollte es den bringen?
          Zuletzt geändert von BananaJo; 13.08.2008, 19:50.

          Kommentar


          • #6
            Naja.. hier sind doch nochmal die Ajax und JavaScript Dateien.. vielleicht hilfts ja doch..

            Wie gesagt, ich bekomme eine Ausgabe aus der php Datei, aber das UPDATE wird nicht ausgeführt... ... aber die SELECTs doch...

            speichern.js
            PHP-Code:
            function speichernIdentitaet(aktion,benutzer,produktgruppe,produkt,forum)
            {

                    
                    
            with (new Ajax())
                    {
                        
            url"../ajax/produktzuordnung/produktzuordnung.php";
                        
            method="POST";
                        
            params="a="+aktion+"&b="+benutzer+"&pg="+produktgruppe+"&p="+produkt+"&f="+forum;            
                        
            onSuccess=successHandler;
                        
            onError=errorHandler;
                        
            doRequest();
                    }      
                  
                    
            //Den Text in die Seite einfügen
                    
            function successHandler(txt,xml)
                    {
                            
                            
            document.getElementById("forumDiv").innerHTML=txt;
                            
                    }
                
                    
            //Fehler
                    
            function errorHandler(msg)
                    {
                      
            alert("Fehler in Ajax");    
                            
                      
            document.getElementById("DIVproduktgruppe").innerHTML=msg;
                    }


            ajax.js
            PHP-Code:
            function Ajax() {
              
            //Eigenschaften deklarieren und initialisieren
              
            this.url="";
              
            this.params="";
              
            this.method="GET";
              
            this.onSuccess=null;
              
            this.onError=function (msg) {
                
            alert(msg)
              }
            }

            Ajax.prototype.doRequest=function() {
              
            //Üeberpruefen der Angaben
              
            if (!this.url) {
                
            this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
                return 
            false;
              }

              if (!
            this.method
              {
                
            this.method="GET";
              } 
              else 
              {
                
            this.method=this.method.toUpperCase();
              }

              
            //Zugriff auf Klasse für readyStateHandler ermöglichen  
              
            var _this this;
              
              
            //XMLHttpRequest-Objekt erstellen
              
            var xmlHttpRequest=getXMLHttpRequest();
              if (!
            xmlHttpRequest) {
                
            this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
                return 
            false;
              }
              
              
            //Fallunterscheidung nach Übertragungsmethode
              
            switch (this.method
              {
                case 
            "GET"xmlHttpRequest.open(this.methodthis.url+"?"+this.paramstrue);
                            
            xmlHttpRequest.onreadystatechange readyStateHandler;
                            
            xmlHttpRequest.send(null);
                            break;
                case 
            "POST"xmlHttpRequest.open(this.methodthis.urltrue);
                             
            xmlHttpRequest.onreadystatechange readyStateHandler;
                             
            xmlHttpRequest.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
                             
            xmlHttpRequest.send(this.params);
                             break;
              }  

              
            //Private Methode zur Verarbeitung der erhaltenen Daten
              
            function readyStateHandler() 
              {
                    if (
            xmlHttpRequest.readyState == 4
                    {            
                        if (
            xmlHttpRequest.status == 200
                        {
                              if (
            _this.onSuccess
                              {
                                    
            _this.onSuccess(xmlHttpRequest.responseTextxmlHttpRequest.respon************ML);
                              }
                        } 
                        else 
                        {
                              if (
            _this.onError
                              {
                                    
            _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenübertragung auf.");
                              }
                        }
                    }
              }
            }

            //Gibt browserunabhängig ein XMLHttpRequest-Objekt zurück
            function getXMLHttpRequest() 
            {
              if (
            window.XMLHttpRequest) {
                
            //XMLHttpRequest für Firefox, Opera, Safari, ...
                
            return new XMLHttpRequest();
              } else 
              if (
            window.ActiveXObject) {
                try {   
                  
            //XMLHTTP (neu) für Internet Explorer 
                  
            return new ActiveXObject("Msxml2.XMLHTTP");
                } catch(
            e) {
                  try {        
                    
            //XMLHTTP (alt) für Internet Explorer
                    
            return new ActiveXObject("Microsoft.XMLHTTP");  
                  } catch (
            e) {
                    return 
            null;
                  }
                }
              }
              return 
            false;

            aurfruf_aller_funktionen.php
            PHP-Code:
            ......


            function 
            speichern()
            {
                
            benutzer document.getElementById('benutzer').value;
                
            produktgruppe document.getElementById('produktgruppe').value;
                
            produkt document.getElementById('produkte').value;
                
                if(
            produkt == null)
                {
                    
            produkt 'alal';
                }
                
                
            //alert("speichern",benutzer,produktgruppe,produkt,forum);
                
                
            forum document.getElementById('forum').value;
                
                
            speichernIdentitaet("speichern_identitaet",benutzer,produktgruppe,produkt,forum);    
            }
            ....... 

            Kommentar


            • #7
              mal den firebug für firefox installiert? da kannst du wunderbar das ergebnis deiner abfrage sehen. schau dir mal ggf. das tutorial an, insbesondere den abschnitt der php-code. und arbeite dabei auch mit mysql_error

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Hey danke... das "mysql_error" hat mir den fehler gezeigt!

                war zu blind den fehler zu sehen

                Kommentar

                Lädt...
                X