Ergebnis 1 bis 5 von 5

Thema: JavaScript und Datenbanken

  1. #1
    Großmeister(in)
    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard JavaScript und Datenbanken

    Hi!
    Hab mal wieder ein Problem.
    Ich habe 4 Auswahllisten. Davon sind 2 für die Kunden (1xKundenNr, 1xKundenname) und 2 für die Aufträge (1xAuftragsnummer, 1xAuftragsname). Jeder Auftrag ist genau einem Kunden zugeordnet. Die Listen werden dynamisch aus einer DB aufgebaut.
    Ich habe die Liste mit den Aufträgen deaktiviert, solange noch kein Kunde ausgewählt ist.
    Jetzt möchte ich erreichen, dass in der Auftragsbox nur die Aufträge angezeigt werden, die auch zu dem Kunden passen.
    Nur ist es ja so, dass es in JS meines Wissens nach keine Möglichkeit gibt, Objekte einzeln zu aktualisieren.
    Was gemacht werden muss, ist, dass die Kunden ID die in den ersten beiden Boxen ausgewählt wird an die zweite Funktion übergeben wird damit aus der DB eben nur die zu dem Kunden passenden Aufträge angezeigt werden.

    Hoffentlich ist es verständlich. Bräuchte dringend einen Denkanstoß!
    Fragen? Fragen!

    Gruß
    Mir nicht
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Viele Grüße

    Mir nicht

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also mache ne liste mit den kudnen dann einen div mit ner id


    auf die selctbox ein onChange=""

    das ganze dann mittels AJAX über PPH oder so aus der SQL db gekramt und dann entweder die reinen daten per ajax überbene oder gleich fertiges HTML von PHP in das div geschmissen und alles wird gut...


    so in etwa verstanden ?!

    da ich heute meine soziale ader habe, das AJAX modul...


    Code:
     // global xmlhttprequest object
    var xmlHttp = false;
    
    
    
    /** AJAX functions **/
    
    // constants
    var REQUEST_GET        = 0;
    var REQEST_POST        = 2;
    var REQUEST_HEAD       = 1;
    var REQUEST_XML        = 3;
    
    
    
    /**
     * instantiates a new xmlhttprequest object
     *
     * @return xmlhttprequest object or false
     */
    function getXMLRequester( )
    {
        var xmlHttp = false;
                
        // try to create a new instance of the xmlhttprequest object        
        try
        {
            // Internet Explorer
            if( window.ActiveXObject )
            {
                for( var i = 5; i; i-- )
                {
                    try
                    {
                        // loading of a newer version of msxml dll (msxml3 - msxml5) failed
                        // use fallback solution
                        // old style msxml version independent, deprecated
                        if( i == 2 )
                        {
                            xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );    
                        }
                        // try to use the latest msxml dll
                        else
                        {
                            
                            xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
                        }
                        break;
                    }
                    catch( excNotLoadable )
                    {                        
                        xmlHttp = false;
                    }
                }
            }
            // Mozilla, Opera und Safari
            else if( window.XMLHttpRequest )
            {
                xmlHttp = new XMLHttpRequest();
            }
        }
        // loading of xmlhttp object failed
        catch( excNotLoadable )
        {
            xmlHttp = false;
        }
        return xmlHttp ;
    }
    
    
    /**
     * sends a http request to server
     * @param strSource, String, datasource on server, e.g. data.php
     * @param strData, String, data to send to server, optionally
     * @param intType, Integer,request type, possible values: REQUEST_GET, REQUEST_POST, REQUEST_XML, REQUEST_HEAD default REQUEST_GET
     * @param strData, Integer, ID of this request, will be given to registered event handler onreadystatechange', optionally
     * @return String, request data or data source
     */
    function sendRequest( strSource, strData, intType, intID )
    {
        if( !strData )
            strData = '';
    
        // default type (0 = GET, 1 = xml, 2 = POST )
        if( isNaN( intType ) )
            intType = 0; // GET
    
        // previous request not finished yet, abort it before sending a new request
        if( xmlHttp && xmlHttp.readyState )
        {
            xmlHttp.abort( );
            xmlHttp = false;
        }
            
        // create a new instance of xmlhttprequest object
        // if it fails, return
        if( !xmlHttp )
        {
            xmlHttp = getXMLRequester( );
            if( !xmlHttp )
                return;
        }
        
        // parse query string
        if( intType != 1 && ( strData && strData.substr( 0, 1 ) == '&' || strData.substr( 0, 1 ) == '?' ) )
            strData = strData.substring( 1, strData.length );
    
        // data to send using POST
        var dataReturn = strData ? strData : strSource;
        
        switch( intType )
        {
            case 1:    // xml
                strData = "xml=" + strData;
            case 2: // POST
                // open the connection 
                xmlHttp.open( "POST", strSource, true );
                xmlHttp.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
                xmlHttp.setRequestHeader( 'Content-length', strData.length );
                break;
            case 3: // HEAD
                // open the connection 
                xmlHttp.open( "HEAD", strSource, true );
                strData = null;
                break;
            default: // GET
                // open the connection 
                var strDataFile = strSource + (strData ? '?' + strData : '' );
                xmlHttp.open( "GET", strDataFile, true );
                strData = null;
        }
        
        // set onload data event-handler
        xmlHttp.onreadystatechange = new Function( "", "processResponse(" + intID + ")" ); ;
    
        // send request to server
        xmlHttp.send( strData );    // param = POST data
        
        return dataReturn;
    }
        
    
    function processResponse( intID )
    {
        // status 0 UNINITIALIZED open() has not been called yet.
        // status 1 LOADING send() has not been called yet.
        // status 2 LOADED send() has been called, headers and status are available.
        // status 3 INTERACTIVE Downloading, responseText holds the partial data.
        // status 4 COMPLETED Finished with all operations.
        switch( xmlHttp.readyState )
        {
            // uninitialized
            case 0:
            // loading
            case 1:
            // loaded
            case 2:
            // interactive
            case 3:
                break;
            // complete
            case 4:    
                // check http status
                if( xmlHttp.status == 200 )    // success
                {
                    processData( xmlHttp, intID );
                }
                // loading not successfull, e.g. page not available
                else
                {
                    if( window.handleAJAXError )
                        handleAJAXError( xmlHttp, intID );
                    else
                        alert( "ERROR\n HTTP status = " + xmlHttp.status + "\n" + xmlHttp.statusText ) ;
                }
        }
    }
    
    
    function encode_utf8(rohtext) 
    {
     // dient der Normalisierung des Zeilenumbruchs
     rohtext = rohtext.replace(/\r\n/g,"\n");
     var utftext = "";
     for&#40;var n=0; n<rohtext.length; n++&#41;
     &#123;
      // ermitteln des Unicodes des  aktuellen Zeichens
      var c=rohtext.charCodeAt&#40;n&#41;;
      // alle Zeichen von 0-127 => 1byte
      if &#40;c<128&#41;
       utftext += String.fromCharCode&#40;c&#41;;
       // alle Zeichen von 127 bis 2047 => 2byte
      else if&#40;&#40;c>127&#41; && &#40;c<2048&#41;&#41; &#123;
       utftext += String.fromCharCode&#40;&#40;c>>6&#41;|192&#41;;
       utftext += String.fromCharCode&#40;&#40;c&63&#41;|128&#41;;&#125;
       // alle Zeichen von 2048 bis 66536 => 3byte
      else &#123;
      utftext += String.fromCharCode&#40;&#40;c>>12&#41;|224&#41;;
      utftext += String.fromCharCode&#40;&#40;&#40;c>>6&#41;&63&#41;|128&#41;;
      utftext += String.fromCharCode&#40;&#40;c&63&#41;|128&#41;;&#125;
     &#125;
     return utftext;
    &#125;
    
    function decode_utf8&#40;utftext&#41; 
    &#123;
     var plaintext = ""; var i=0; var c=c1=c2=0;
     // while-Schleife, weil einige Zeichen uebersprungen werden
     while&#40;i<utftext.length&#41;
     &#123;
      c = utftext.charCodeAt&#40;i&#41;;
      if &#40;c<128&#41; 
      &#123;
       plaintext += String.fromCharCode&#40;c&#41;;
       i++;
      &#125; else if&#40;&#40;c>191&#41; && &#40;c<224&#41;&#41; &#123;
       c2 = utftext.charCodeAt&#40;i+1&#41;;
       plaintext += String.fromCharCode&#40;&#40;&#40;c&31&#41;<<6&#41; | &#40;c2&63&#41;&#41;;
       i+=2;
      &#125; else &#123;
       c2 = utftext.charCodeAt&#40;i+1&#41;; c3 = utftext.charCodeAt&#40;i+2&#41;;
       plaintext += String.fromCharCode&#40;&#40;&#40;c&15&#41;<<12&#41; | &#40;&#40;c2&63&#41;<<6&#41; | &#40;c3&63&#41;&#41;;
       i+=3;
      &#125;
     &#125;
     return plaintext;
    &#125;
    
    function URLencode&#40;sStr&#41;
    &#123;
     sStr=sStr.split&#40;'"'&#41;.join&#40;'%22'&#41;;
     sStr=sStr.split&#40;'&'&#41;.join&#40;'%26'&#41;;
     sStr=sStr.split&#40;"'"&#41;.join&#40;'%27'&#41;;
     sStr=sStr.split&#40;'€'&#41;.join&#40;'%80'&#41;;
     sStr=sStr.split&#40;'+'&#41;.join&#40;'%2B'&#41;;
     sStr=sStr.split&#40;'/'&#41;.join&#40;'%2F'&#41;;
     sStr=sStr.split&#40;'='&#41;.join&#40;'%3D'&#41;;
    
     return sStr;
    &#125;

    dazu denn noch was wie:

    Code:
    <script language="JavaScript" type="text/javascript">
    <!--
    var ajax_weiche = 'menu';
    var tmp = '';
    
    function processData&#40; xmlHttp, intID &#41;
    &#123;
     if &#40;ajax_weiche=='auftrag'&#41;
     &#123;
       setAuftrag&#40; xmlHttp.responseText &#41;;
     &#125;
    &#125;
    
    function setAuftrag&#40; id &#41;
    &#123;
     ajax_weiche='auftrag';
    
     sendRequest&#40; 'get_auftrag.php?id=' + id &#41;;
    &#125;
    
    
    
    function setAuftrag&#40; strData &#41;
    &#123;
        if&#40; strData &#41;
        &#123;
          var arrOptions = strData.split&#40; "\n" &#41;;
          var arrOption;
          var ausgabe = '';
          
    
          for&#40; var i = 0; i < arrOptions.length; i++ &#41;
          &#123;
           arrOption = arrOptions&#91; i &#93;.split&#40; ';' &#41;;
    
           if &#40;arrOption&#91; 1 &#93;!=""&#41;
            ausgabe = ausgabe + '<tr><td align="left">' + arrOption&#91; 0 &#93; + '</td><td align="left">' + arrOption&#91; 1 &#93; + '</td></tr>' + "\n";
          &#125;
          
          ausgabe = '<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%">' + "\n" + ausgabe + '</table>';
    
          document.getElementById&#40;'div'&#41;.innerHTML=ausgabe;
        &#125;
    &#125;
    // -->
    </script>
    wobei die PHP ausgabe im CSV style währe....

    also \n für neuer datensatz und ; und die objecte zu trennnen

  3. #3
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke...
    Ich geh jetzt erstmal weinen!
    Viele Grüße

    Mir nicht

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wiso weihnen ?!? ist das jetzt 1-2 spuren zu hoch gewesen ?!

  5. #5
    Großmeister(in)
    Themenstarter

    Registriert seit
    31.10.2005
    Ort
    Bei Muddi, wo sonst
    Beiträge
    524
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Eigentlich hab ich nicht mit so einem Aufwand gerechnet.
    Das ist ja im Prinzip nix anderes als JS! Das ist aber schon ziemlich heftig, wenn man noch in den Kinderschuhen bei sowas steckt und das auch verstehen will.
    Aber ich werds mit auf jeden Fall angucken und mal mein Glück versuchen!
    Viele Grüße

    Mir nicht

Ähnliche Themen

  1. Handhabung von Datenbanken
    Von Gamling im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 24.03.2008, 21:41
  2. automatische id in datenbanken
    Von azrael im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 13
    Letzter Beitrag: 27.07.2006, 14:33
  3. datenbanken ???
    Von UltraMeb im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 29.04.2006, 02:29
  4. 2 datenbanken ??
    Von hoeck im Forum Webhoster - Provider - (free) Webspace - Server - Domain
    Antworten: 6
    Letzter Beitrag: 12.08.2005, 18:06
  5. PHP & DATENBANKEN
    Von bona im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 27.06.2005, 15:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •