Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
mit 2 Auswahlfeldern, die abhängig von einander sind. Die Inhalte werden aus einer MYSQL Datenbank gelesen.|
|
JavaScript Code |
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 |
function erzXMLHttpRequestObject(){ var resObjekt = null; try { resObjekt = new ActiveXObject("Microsoft.XMLHTTP"); } catch(Error){ try { resObjekt = new ActiveXObject("MSXML2.XMLHTTP"); } catch(Error){ try { resObjekt = new XMLHttpRequest(); } catch(Error){ alert( "Erzeugung des XMLHttpRequest-Objekts ist nicht möglich"); } } } return resObjekt; } function ErzeugeAJAXObjekt(){ this.erzXMLHttpRequestObject = erzXMLHttpRequestObject; } o = new ErzeugeAJAXObjekt(); resObjekt = o.erzXMLHttpRequestObject(); |
|
|
PHP Quellcode |
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 |
..... <form name="Kurssystem"> <div id="Kurstyp"> <select style=width:260px; id="Kurstyp" onChange="sndReq(1)"> <option selected="selected">Bitte zuerst wählen !</option> <? include 'connect.php'; $result = mysql_query("SELECT DISTINCT Kurstyp FROM `kurse`"); while($row = mysql_fetch_object($result)) { echo '<option value="'.$row->Kurstyp.'">'.$row->Kurstyp.'</option>'; } ?> </select> </div> <div id="Kursdetails"> <select id="Kursdetails" onClick="sndReq(2)"> <option></option> </select> </div> <div id="Name"></div> <div id="Ort"></div> <div id="Preis"></div> ..... </form> |
|
|
JavaScript Code |
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 |
function sndReq(uebergabe){ if (uebergabe == "1") { if (document.Kurssystem.Kurstyp.value != "") { resObjekt.open('get', 'funktion_kurs.php?name=' + escape(document.Kurssystem.Kurstyp.value), true); resObjekt.onreadystatechange = handleResponse; resObjekt.send(null); uebergabe = ""; } } if (uebergabe == "2") { if (document.Kurssystem.Kursdetails.value != "") { resObjekt.open('get', 'funktion_detail.php?name=' + escape(document.Kurssystem.Kursdetails.value), true); resObjekt.onreadystatechange = handleResponse; resObjekt.send(null); } } } function handleResponse(){ if ((resObjekt.readyState == 4) && (resObjekt.status == 200)) { document.getElementById('Kursdetails').innerHTML = resObjekt.responseText; } } |
|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
<?php include 'connect.php'; echo '<select style=width:600px; name="Kursdetails">'; $result = mysql_query("SELECT Kursdetail FROM `kurse` WHERE Kurstyp = '$_GET[name]'")or die('fehler in sql abfrage'); while($row = mysql_fetch_object($result)) { echo '<option value="'.htmlentities($row->Kursdetail).'">'.htmlentities($row->Kursdetail).'</option>'; } echo '</select>'; mysql_close ($dbverbindung); ?> |
This post has been edited 1 times, last edit by "mina" (Jan 11th 2009, 3:19pm)
|
|
HTML Code |
1 |
<div id="el">test</div> |
|
|
JavaScript Code |
1 |
alert(document.getElementById('el').innerHTML); |
|
|
PHP Quellcode |
1 2 3 4 5 |
... <div id="Kursname"><select> <option selected="selected">Bitte zuerst die Kategorie auswählen !</option> </select> ... |
|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
<?php include 'connect.php'; echo '<select style=width:600px id="Kursname" onchange="sndReq2()">'; $result = mysql_query("SELECT Kursdetail FROM `kurse` WHERE Kurstyp = '$_GET[name]'")or die('fehler in sql abfrage'); while($row = mysql_fetch_object($result)) { echo '<option value="'.htmlentities($row->Kursdetail).'">'.htmlentities($row->Kursdetail).'</option>'; } echo '</select>'; mysql_close ($dbverbindung); ?> |
|
|
JavaScript Code |
1 2 3 |
function sndReq2(){ alert(document.getElementById('Kursname').value); } |


This post has been edited 2 times, last edit by "mina" (Jan 11th 2009, 10:30pm)
|
|
PHP Quellcode |
1 2 3 4 5 |
while($row = mysql_fetch_object($result)) { $antwort = $row->ZIELGRUPPE . '|' . $row->DAUER . '|' . $row->GEBUEHR . '|' . $row->ZIEL . '|' . $row->PRÜFUNG . '|' . $row->BEMERKUNG; } $array = explode("|",$antwort); |
|
|
JavaScript Code |
1 2 3 4 5 6 7 8 9 |
function sndReq2() { if (document.getElementById('Kursname').value != "") { resObjekt.open('get', 'funktion_detail.php?detail=' + escape(document.getElementById('Kursname').value), true); resObjekt.onreadystatechange = handleResponse2; resObjekt.send(null); } } |
|
|
JavaScript Code |
1 2 3 4 5 6 7 8 |
function handleResponse2() { if ((resObjekt.readyState == 4) && (resObjekt.status == 200)) { document.getElementById('Zielgruppe').innerHTML = $array[0]; document.getElementById('Dauer').innerHTML = $array[1]; document.getElementById('Dauer').innerHTML = $array[2]; } } |
|
|
JavaScript Code |
1 2 3 4 5 6 7 8 9 |
function handleResponse2() { if ((resObjekt.readyState == 4) && (resObjekt.status == 200)) { var ids = new Array('zielgruppe','dauer','gebuehr','ziel','pruefung','bemerkung'); var response = req.responseText.split('|'); for(i=0; i<response.length; i++) { document.getElementById(ids[i]).innerHTML = response[i]; } } } |
as SQL Abfrage: |
|
PHP Quellcode |
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 37 38 39 |
<?php // PHP Datenerhebung $data = array( 'Kursdaten' => array( array( 'BEGIN_DATUM' => '2009-01-01', 'END_DATUM' => 1, ), array( 'BEGIN_DATUM' => '2009-01-02', 'END_DATUM' => 2, ), array( 'BEGIN_DATUM' => '2009-01-03', 'END_DATUM' => 3, ), ) ); // PHP Daten ausgeben foreach($data['Kursdaten'] as $row) { printf("%s<br/>", $row['BEGIN_DATUM']); } // Brücke zwischen PHP und JavaScript $json = json_encode($data); ?> <script type="text/javascript"> // JavaScript Datenerhebung var json = '<?= $json ?>'; // JavaScript Daten ausgeben var data = eval('(' + json + ')'); for(var row in data['Kursdaten']) { document.writeln(data['Kursdaten'][row]['BEGIN_DATUM']+"<br/>"); } </script> |
|
|
PHP Quellcode |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Spry Simple Data Example</title> <script type="text/javascript" src="xpath.js"></script> <script type="text/javascript" src="SpryData.js"></script> <script type="text/javascript" src="SpryJSONDataSet.js"></script> <script type="text/javascript"> var dynacontent = new Spry.Data.JSONDataSet("test.js"); </script> </head> <body> <? include("mysql2json.class.php"); require("connect.php"); ?> <? $num=6; $sql="SELECT BEGIN_DATUM, ENDE_DATUM, SORT_NUMMER, VSTG_ORT, TRAINER, HINWEIS FROM `kurse` WHERE NAME = $_GET[ID]"; ersetzt $result=@mysql_query($sql) or die(mysql_error()); $num=mysql_affected_rows(); $objJSON=new mysql2json(); $JSONSTRUKTUR = trim($objJSON->getJSON($result,$num)); $dateiname = "test.js"; // Name der Datei if (file_exists($dateiname)) { if (filesize($dateiname)>0) { $handler=fopen($dateiname,"w+"); $handler = fOpen($dateiname , "a+"); fWrite($handler , $JSONSTRUKTUR); fClose($handler); } else { $handler = fOpen($dateiname , "a+"); fWrite($handler , $JSONSTRUKTUR); fClose($handler); } } else { $handler = fOpen($dateiname , "a+"); fWrite($handler , $JSONSTRUKTUR); fClose($handler); } //print($JSONSTRUKTUR); ?> <div id="Kurse" spry:region="dynacontent"> <table id="Tabelle"> <tr> <th>Anfang</th> <th>Ende</th> <th>Kursnummer</th> <th>Veranstaltungsort</th> <th>Trainer</th> <th>Hinweise</th> </tr> <tr spry:repeat="dynacontent"> <td>{BEGIN_DATUM}</td> <td>{ENDE_DATUM}</td> <td>{SORT_NUMMER}</td> <td>{VSTG_ORT}</td> <td>{TRAINER}</td> <td>{HINWEIS}</td> </tr> </table> </div> <? ?> </body> </html> |
|
|
PHP Quellcode |
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 37 38 39 40 41 |
<? class mysql2json{ function getJSON($resultSet,$affectedRecords){ $numberRows=0; $arrfieldName=array(); $i=0; $json=""; //print("Test"); while ($i < mysql_num_fields($resultSet)) { $meta = mysql_fetch_field($resultSet, $i); if (!$meta) { }else{ $arrfieldName[$i]=$meta->name; } $i++; } $i=0; $json="[\n"; while($row=mysql_fetch_array($resultSet, MYSQL_NUM)) { $i++; //print("Ind ".$i."-$affectedRecords<br>"); $json.="{\n"; for($r=0;$r < count($arrfieldName);$r++) { $json.="\"$arrfieldName[$r]\" : \"$row[$r]\""; if($r < count($arrfieldName)-1){ $json.=",\n"; }else{ $json.="\n"; } } if($i!=$affectedRecords){ $json.="\n},\n"; }else{ $json.="\n}\n"; } } $json.="]"; return $json; } } ?> |
|
|
JavaScript Code |
1 |
new Spry.Data.JSONDataSet("index.php?getparam"); |
.....tja warum mach ich das statisch......
.....es ist richtig ich möchte es dynamisch gestalten.|
|
PHP Quellcode |
1 2 3 4 |
$result = mysql_query("SELECT BEGIN_DATUM, ENDE_DATUM, SORT_NUMMER, VSTG_ORT, TRAINER, HINWEIS FROM `kurs` WHERE NAME = 'TEST"); $test = array(); while($x = mysql_fetch_array($result, MYSQL_ASSOC)) $test[] = $x; |