tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
910
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    Hallo,

    ich brauche unbedingt Hilfe.

    Ich hab bisher das gemacht:
    PHP-Code:

    <?php

    $sqlhost
    ="localhost";
    $sqluser="root";
    $sqlpw="";
    $sqldb="personal";

    $sqlbf=mysql_connect($sqlhost,$sqluser,$sqlpw)or die (mysql_error()."Keine Verbindung zur DB möglich");
    mysql_select_db($sqldb,$sqlbf)or die (mysql_error()."Datenbank existiert nicht");

    $sqlbefehl ="Select ID,Vorname,Nachname From inhalte";
    $ergebnis mysql_query($sqlbefehl)or die(mysql_error());

    $arrData = array();
    while (
    $row mysql_fetch_array($ergebnis))
    {
        
    $arrData[] = $row;
    }
    ?> 

    <html>
       <head>

       <script type="text/javascript">

                                 function SelectAuswahl ()
                                    {
                                          var arrData=new Array();
                                               <?php
                                                   
    foreach($arrData as $nI => $nId)
                                                   echo 
    "arrData[".$nI."]=".$nId[ID].$nId[Vorname].";<br>";
                                                
    ?>
                                    }
        </script>

       </head>
       <body>
          <form name="Testform" action="">
             <select name="Auswahl" size="10" onchange="SelectAuswahl()">
             <?php
             
    // Daten in Select-Box
                
    foreach($arrData as $nId)
                   echo 
    '<option>'.$nId['ID']." - ".$nId['Vorname']." - ".$nId['Nachname']."</option>\n";
             
    ?> 
             </select>
          
        ID : <input type="text" name="id" /> 
        Vorname :  <input type="text" name="vorname" />
        Nachname :  <input type="text" name="nachname" />
           </form> 
             
       </body>
    </html>

    Ich versuche Dateninhalte von der Select-Box (Inhalte aus Datenbank),
    die Selektiert und mit "onchange" ausgeführt werden, an die Textfelder zu übergeben,
    aber vergebens... bitte um Hilfe.

    Die Textfelder sind diese:
    PHP-Code:
        ID : <input type="text" name="id" /> 
        
    Vorname :  <input type="text" name="vorname" />
        
    Nachname :  <input type="text" name="nachname" /> 

    Ich bin für jede Hilfe sehr sehr dankbar!



    lg ctacont
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mach dich mal mit AJAX schlau
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    Ich hatte vorhin diesen Abschnitt so:
    PHP-Code:
    <?php
            
    foreach($arrData as $nI => $nId)
            echo 
    "arrData[".$nI."]=".$nId.";\n";
          
    ?> 
          var nIdSel=document.Testform.Auswahl.selectedIndex;
          if(nIdSel>-1)
             if(nIdSel<arrData.length){
                 
                document.Testform.id.value = arrData[nIdSel];
                document.Testform.vorname.value = arrData[nIdSel];
                document.Testform.nachname.value = arrData[nIdSel];
     
             }
    Natürlich werde ich mich umschauen.
    Aber der Teil ist für mich wirklich sehr wichtig.
    Es wär super, wenn Du mir helfen könntest.


    lg ctacont
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du mischst da irgendwie Javascript und PHP.

    Sollte es ev. so heissen?
    PHP-Code:
    document.Testform.id.value = <?php echo arrData[nIdSel]; ?>;
    Ich hab keine Ahnung was dein Javascript machen sollte.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    Hallo,

    ich hatte mal das geschrieben (funktionierender Code):
    PHP-Code:

    <table>
    <tr>
        
    <td>
    <?php

    $sqlhost
    ="localhost";
    $sqluser="root";
    $sqlpw="";
    $sqldb="personal";

    $sqlbefehl=mysql_connect($sqlhost,$sqluser,$sqlpw)or die (mysql_error()."Keine Verbindung zur DB möglich");
    mysql_select_db($sqldb,$sqlbefehl)or die (mysql_error()."Datenbank existiert nicht");

    $sqlbefehl ="Select * From inhalte";
    $ergebnis mysql_query($sqlbefehl)or die(mysql_error());
    ?>

    <form name="formular" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
        <input type="submit" name="submit" value="SENDEN">
    <select name="menu" size=10>  
    <?php
    while($row=mysql_fetch_array($ergebnis)){
          echo 
    "<option value='".$row['ID']."'>".$row['ID']." : ".
                                                 
    $row['Vorname']." - ".
                                                 
    $row['Nachname'].

               
    "</option>";
        
    }
    ?>
    </select>
    </form>
    </td>

    <td>
    <?php

    $sqlbefehl 
    ="Select ID, Vorname, Nachname, Geschlecht From inhalte where ID = '$_POST[menu]' ";
    $ergebnis mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);

    while(
    $row=mysql_fetch_array($ergebnis)){
    echo
    "ID        : ".$row['ID']. "<br>" 
    "Vorname  :".$row['Vorname']. "<br>" .
    "Nachname :".$row['Nachname']. "<br>" .
    " ";
    }
    ?>
    </td>

    </tr>
    </table>
    Erkärung:
    Ich selektiere in der Select-Box einen Sql-Datensatz.
    Per Submit Button POSTE ich den Wert an die Textfelder (Anzeige gleich neben der Select - Box)

    Meine Absicht ist, daß ich den Select - Inhalt nicht mit SUBMIT übermitteln möchte, sondern per "onchange"[/B].
    Und hier habe ich meine Schwierigkeiten.


    lg ctacont
    Geändert von ctacont (16.12.09 um 15:01 Uhr)
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    danke für den link, aber ich komm damit leider noch nicht klar.

    lg ctacont
     

  8. #8
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    Hallo yaslaw,

    ich hab mir die ganze Sache mal angeschaut und versucht zu verstehen
    mit AJAX.

    Könntest du vielleicht bitte ein bisschen weiterhelfen. Ich komm durcheinander.
    Nichts klappt!

    lg ctacont
     

  9. #9
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Also, ich habe bei mir das folgende script, das ich immer verwende

    ajax.js
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    var httpObject = null;
    var tagId;
    var ajaxFileName = 'ajax.php';
     
    // Get the HTTP Object
    function getHTTPObject(){
        if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
        else if (window.XMLHttpRequest) return new XMLHttpRequest();
        else {
            alert("Your browser does not support AJAX.");
            return null;
        }
    }
     
    // Change the value of the outputText field
    function setOutput(){
        if(httpObject.readyState == 4){
            document.getElementById(tagId).innerHTML = httpObject.responseText;
        }
    }
     
    // Implement business logic
    function ajax(inFunctionName, inTagId, inArgList){
     
     
        httpObject = getHTTPObject();
        tagId = inTagId;
     
        var get = ajaxFileName + "?ajax=" + inFunctionName  + "&tagId=" + tagId + "&" + inArgList;
     
        if (httpObject != null) {
            httpObject.open("GET", get, true);
            httpObject.send(null);
            httpObject.onreadystatechange = setOutput;
        }
    }

    Dann hab ich eine Datei, die per php das resultat ausarbeitet
    ajax.php
    PHP-Code:
    function inlet(){
        
    $html $_GET['newtext'];
        return 
    $html;
    }
    $function $_GET['ajax'];
    echo 
    $function(); 
    und noch der Einbau auf deiner Seite
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    >
    <
    html xmlns="http://www.w3.org/1999/xhtml">
        <
    head>
            <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <
    script type="text/javascript" src="ajax.js"></script>
        </head>
        <body>
            <div id="teststring">foo</div>
            <div align="center">
                <a href="javascript:ajax('inlet', 'teststring', 'newtext=bar');" title="test">
                    test ajax
                </a>            
            </div>
        </body>
    </html> 
    Geändert von Yaslaw (17.12.09 um 11:09 Uhr) Grund: ajax.php ergänzt
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  10. #10
    ctacont ctacont ist offline Rookie
    Registriert seit
    Dec 2009
    Beiträge
    6
    Danke für die Scripts..
    Das ist ja super von Dir, ich werd mich damt mal auseinandersetzen.

    Danke vielmals!


    lg ctacont
     

  11. #11
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Habe noch ajax.php ergänzt, damit es auch lauffähig ist.

    ajax.php
    PHP-Code:
    function inlet(){
        
    $html $_GET['newtext'];
        return 
    $html;
    }
    $function $_GET['ajax'];
    echo 
    $function(); 
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 14.08.10, 13:00
  2. Selectbox -> Textfelder schreibbar machen
    Von Duellking im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 05.08.08, 13:59
  3. Daten aus Db in selectbox anzeigen
    Von Deejoy im Forum Javascript & Ajax
    Antworten: 37
    Letzter Beitrag: 15.07.08, 00:02
  4. Selectbox aus XML Daten u. Abfrage von Daten aus XML Datei
    Von helpmeaimnew im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 23.04.08, 12:05
  5. Mysql Daten -> Selectbox
    Von Aznet im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.06.04, 23:03