You are not logged in.

  • Login

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.

1

Sunday, January 11th 2009, 2:40pm

Auf dynamische Ajax Inhalte zugreifen / Auswahlfelder

Ein freudiges Hallo an alle User hier im Board!
Ich lese nun schon einige Zeit in eurer gigantischen Wissensdatenbank, wirklich toll was man hier so lernen kann.
Jedoch stehe ich irgendwie vor einer Wand, und mir ist es nicht klar, wie ich auf dynamisch generierte AJAX Inhalte zugreifen kann.
Hier schildere ich einmal mein Vorhaben:
Es gibt wie so oft ein Formular, :) mit 2 Auswahlfeldern, die abhängig von einander sind. Die Inhalte werden aus einer MYSQL Datenbank gelesen.
Desweiteren sollen mehrere DIV Tags von diesem zweiten Auswahlfeld abhängig sein, und ebenfalls mit Werten aus der Datenbank gefüllt werden.
Mein Problem ist nur, da das zweite Auswahlfeld ja mittels AJAX gefüllt wurde, kann ich mit document.Kurssystem.Kurstyp.value keinen Wert erfassen.
Hier mal einige Codeauszüge:

xmlhttprequestobjekt.js

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();


form.php

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>


kurssystem.js

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;
    }
}


funktion_kurs.php

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);
?>


So das wäre es, ich bräuchte nur einen Anstoß. wie ich eben auf die dynamischen Werte zugreifen kann. Es wird sich durch mein gesamtes Projekt ziehen, ich werde immer wieder auf solche werte aus der Datenbank beziehen müssen.

Ich hoffe es findet sich ein nette Person, de mir vielleicht diesen Anstoß geben könnte.

Bedanken tue ich mich jetzt schon für die Zeit, zum lesen meines Beitrages und noch viel mehr über eine Antwort

Lg Mina

This post has been edited 1 times, last edit by "mina" (Jan 11th 2009, 3:19pm)


2

Sunday, January 11th 2009, 8:23pm

Hallo Mina,

eigentlich sollte alles was innerhalb eines einziges Formulares (<form>...</form>) steht über this.form.variablenname.value erreichbar sein.
Egal ob dynamisch geladen oder nicht.

Wenn es mal nicht um Formulare geht, dann musst du über IDs arbeiten - das würde auch in diesem Beispiel funktionieren.

HTML Code

1
<div id="el">test</div>

JavaScript Code

1
alert(document.getElementById('el').innerHTML);


Falls du den Link noch nicht kanntest: Formulare mit AJAX.. und ohne

3

Sunday, January 11th 2009, 10:18pm

Vielen lieben Dank d0nut für deine schnelle Antwort.
Manchmal sieht es schwieriger aus als es ist, doch leider funktioniert dies bei mir nicht so ganz!
Formular.php mit dem 2.Auswahlfeld

PHP Quellcode

1
2
3
4
5
...                                         	
<div id="Kursname"><select> 
<option selected="selected">Bitte zuerst die Kategorie auswählen !</option>
 </select>
...


Hier wird das zweite Auswahlfeld gefüllt:

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);
?>


aufgerufenes JS zum Test

JavaScript Code

1
2
3
function sndReq2(){
	alert(document.getElementById('Kursname').value);
}


Folgende Meldung erscheint bei .value


Folgende Meldung erscheint bei .innerHTML


Allerdings möchte ich ja nur das selektierte Element!

Was mache ich falsch, es wird beim ändern des zweiten Auswahlfeldes die Funktion sndreq2() aufgerufen und soll zum Test seinen Wert ausgeben!?

Eine dann anschließende Frage, wie kann ich in der function handleResponse mehrere Div Felder füllen? Die Werte müssen dazu auch aus der DB gelesen werden.

Vielen Dank für die Mühe.....

This post has been edited 2 times, last edit by "mina" (Jan 11th 2009, 10:30pm)


4

Sunday, January 11th 2009, 11:01pm

Du hast die ID Kursname mehrfach verwendet. Das geht natürlich nicht.

<div id="Kursname"><select>
... <select style=width:600px id="Kursname"

Um mehrere DIVs zu befüllen, musst du die Rückgabe von AJAX irgendwie splitten.
Zum Beispiel kannst du in PHP zwei Hochstrichte einfügen und dann in JavaScript danach splitten. Beispiel siehe Ajax Inhalte mit PHP nachladen

5

Monday, January 12th 2009, 8:05pm

Guten Abend d0nut,
danke für deinen Tipp und Link - den hab ich natürlich auch schon gefunden, leider tue ich mich etwas schwer bei der Umsetzung.

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);

Dann habe ich in der $array alle Werte mit einem | getrennt. Doch diese sollen jetzt von einem einzigen sndReq aufgerufen werden. Bitte laßt mich meinen Gedankengang einmal aufzeigen,(wo ist der Fehler)! Aus dem Formular(formular.php), rufe ich meine JS Datei (kurs.js) mittel onChange Event auf. In dieser JS Datei wird der ausgewählte Wert des Auswahlfeldes, für die SQL Abfrage benützt. Diese SQL Abfrage liefert dann eine Stringkette zurück, welche ich mittels explode in ein Array ändere.
Dieses Array muß jetzt zurück gegeben werden, an die kurs.js und dort wird die Funktion handleResponse2 ausgeführt.

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);
       }
}


an dieser Stelle HandleResponse2

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];
    }
}

müßte ich das Array den einzelnen DIV Tags zuweisen, UND GENAU HIER IST MEIN DENKFEHLER, ich weiß es, oder anders gesagt ich weiß nicht wie ich das umformen soll, und darstellen kann!

Es wäre sehr sehr freundlich wenn Ihr mir da helfen könntet. Wie ihr sicher merkt, fange ich mit AJAX erst an, ich möchte aber keinen kompletten Code, nicht das hier etwas falsch verstanden wird. Ich möchte das System, das Prinzip verstehen und lernen. Die Video2Brain DVD zum Thema AJAX habe ich mir bereits gekauft und angeschaut. Ebenfalls die Bücher von DATA BECKER "AJAX" und Markt und Technik "Jetzt lerne ich AJAX" halfen mir nicht so weiter, wie ich es gerne hätte!

Also nochmals, vielen Dank für eure Geduld und Zeit!

Lg Mina

6

Monday, January 12th 2009, 8:17pm

Ich habe dir die Lösung einfach mal gebaut:

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];
		}
	}
}


So schwer ist das gar nicht ;)

7

Tuesday, January 13th 2009, 1:05am

D0nut, ich bin sprachlos - eine wirklich einfache und mir verständliche Lösung!
Vielen Dank, wirklich. Mit diesem Hinweis kann ich denke ich weiterarbeiten. (funktioniert 1a)!
Nun geht es daran eine Tabelle darzustellen, ebenfalls gleichzeitig aktualisiert mit den Div's! Die Tabellendaten stammen aus der MYSQL, und kann unterschiedliche Anzahl von Elementen haben.
Ich denke ich werde die mir erst die erste Spalte ausgeben lassen, dabei nat. die Anzahl der Elemente zählen, dann die Spalten zählen und diese füllen!
In PHP dürfte ich das denke ich hinbekommen, nur die Schnittstelle dann mit diesem handleResponse zurück in JS! Übergebe ich Ihm dann einfach den String welche meine Struktur enthält, oder ist für diese Art der Umsetzung vielleicht XML das bessere Format, oder JSON!

Danke Dir wirklich nochmal, selten einen so engagierten Admin erlebt! Da merkt man wirklich das, dass hier dein Baby ist ;)

8

Tuesday, January 13th 2009, 6:17pm

immer wieder gerne

ich würde dir zu JSON raten, das ist am komfortabelsten. Dadurch wandert aber viel Logik zu JavaScript und du wirst dich unweigerlich ein bisschen mehr damit befassen müssen.
Bestimmt wusstest du es schon http://www.coder-wiki.de/HowTos/JavaScript-JSON ;)

9

Saturday, January 17th 2009, 9:18pm

Hallo,

also ich habe mich in den vergangenen Tagen mit meinem Problem beschäftigt, die Darstellung der Daten aus der DB in eine Dyn. Tabelle!
Soweit bin ich gekommen:Das SQL Abfrage:

SELECT BEGIN_DATUM, ENDE_DATUM, SORT_NUMMER, VSTG_ORT, TRAINER, HINWEIS FROM `test` WHERE NAME = 'Fortbildung'";

das Ergebnis habe ich ein JSON String umgebaut welcher so aussieht:

{ "Kursdaten": [ { "BEGIN_DATUM" : "16.02.2009", "ENDE_DATUM" : "16.02.2009", "SORT_NUMMER" : "F Luft 109b", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "J. W. Oppel", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" }, { "BEGIN_DATUM" : "23.03.2009", "ENDE_DATUM" : "23.03.2009", "SORT_NUMMER" : "F Luft 109", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "Dr. Bernhard Mandl", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" }, { "BEGIN_DATUM" : "25.05.2009", "ENDE_DATUM" : "25.05.2009", "SORT_NUMMER" : "F Luft 209b", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "Dr. Bernhard Mandl", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" }, { "BEGIN_DATUM" : "22.06.2009", "ENDE_DATUM" : "22.06.2009", "SORT_NUMMER" : "F Luft 209", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "Dr. Bernhard Mandl", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" }, { "BEGIN_DATUM" : "21.09.2009", "ENDE_DATUM" : "21.09.2009", "SORT_NUMMER" : "F Luft 309", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "J. W. Oppel", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" }, { "BEGIN_DATUM" : "14.12.2009", "ENDE_DATUM" : "14.12.2009", "SORT_NUMMER" : "F Luft 409", "VSTG_ORT" : "Testlocation, Musterstadt", "TRAINER" : "J. W. Oppel", "HINWEIS" : "Abholservice ab Flughafen München (50 €) bzw. Bahnhof "Musterstadt"(kostenfrei) - bitte rechtzeitig anrufen!" } ] };

Jetzt möchte ich aus diesen Daten eine Tabelle generieren - Die überschriften der Tabelle sind die GROßGESCHRIEBENEN BEGRIFFE!
Nun weiß ich nicht so recht, wie ich das am besten anstelle, mithilfe einen Framework. evtl. MochiKit?! Hat einer von euch Erfahrung damit?!
Wünsche noch ein schönes Wochenende....

Euer Mina

10

Sunday, January 18th 2009, 11:50am

Den String konvertierst du mit einem einfachen eval() in ein JavaScript Objekt. Danach musst du wie gesagt JavaScript können.
Ich habe mal ein Howto dazu geschrieben: JSON: PHP und JavaScript

Für dein Beispiel:

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>

11

Sunday, January 18th 2009, 9:18pm

Hi d0nut,

wie immer eine wahnsinns schnelle Antwort, und gleich mit Beispielcode. Der Haken ist nur, das ich vorher nicht weiß wie viele Einträge mein Array haben wird!
Die Daten stammen ja wie gesagt aus einer SQL Abfrage, momentan teste ich das Framework SPRY.
Meine Vorgehensweise wird jetzt sicher belächelt....ich bin mir der Umständlichen Klimzüge bewußt, leider :-/

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>


Hier wird der JSON String konstruiert:

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;
 }
}
?>


Der Ablauf ist jetzt so: Eine Variable ID, wird mittels GET übergeben und in die SQL Abfrage einbezogen, das Ergebnis wird in einen JSON String geformt und in eine Text Datei geschrieben, diese Textdatei wird mittels SPRY Framework als eine dynamische Tabelle dargestellt.

Ihr werdet jetzt sicher die Hände über dem Kopf zusammen schlagen, oder was haltet ihr davon?

Lg Mina

12

Sunday, January 18th 2009, 11:19pm

Hat es einen Grund warum du den Inhalt als Datei speichert? Du kannst doch auch direkt PHP reinladen,

JavaScript Code

1
new Spry.Data.JSONDataSet("index.php?getparam");


Außerdem dachte ich du wolltest die Daten dynamisch nachladen?

13

Sunday, January 18th 2009, 11:36pm

hmmm..... ?( .....tja warum mach ich das statisch...... ?( .....es ist richtig ich möchte es dynamisch gestalten.
Okay, ich glaube du hast mich kalt erwischt....muß ja auch zugeben das das oben stehende Script zu Testzwecken einzeln steht. Es ist noch nicht in meinem Formular.
Ich glaub da war dein Ansatz besser, nur das ich dann halt die Arrays dynamisch füllen muß, richtig? In deinem Beispiel, Punkt // PHP Datenerhebung. Bist du ja von statischem Content ausgegangen. Kann man den JSON String so zerlegen? Oder habe ich eine grundlegenden Denkfehler. Ich erstelle aus dem SQL Query ein String im JSON Format, diesen lese ich in arrays ein, und geben ihn an den DIV's aus ?! Richtig

Vielen Dank für Deine Hilfe und Bemühungen

14

Monday, January 19th 2009, 6:59pm

Mein Weg schildert das Vorgehen ohne Framework und ist in etwa das was Spry.Data.JSONDataSet im Hintergrund macht.
Du musst also nur den Aufruf direkt machen. Direkt an die PHP Datei - statt an die generierte statische Datei.

15

Monday, January 19th 2009, 9:26pm

hmmm.....
ich versuche wirklich Deinen Aussagen zu folgen, komme jedoch nicht ganz zurecht!

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;

Ich seh das doch richtig, dein PHP EINLESE BEISPIEL mit festen werten arbeitet. Aber ich weiß doch vorher nicht wie meine werte aussehen werden.
Daher meine Idee ein mehrdimensionales Array, mit print_r($test[0][HINWEIS]); bekomm ich ja dann den Wert der ersten Zeile und Spalte Hinweis.
Nun mit einer Schleife alle Werte einlesen, oder?

Ich bin wirklich völlig überfordert, muß das aber fertig bringen. Ein kleiner Anstoß würde mir sehr helfen!

Vielen Dank

Euch allen auch einen schönen Abend

16

Monday, January 19th 2009, 10:04pm

Frameworks nehmen dir viel Arbeit ab und ersparen dir unnützes Wissen - meine Tutorials zielen auf das Verständnis. Im "realen Leben" verwende ich aber auch Frameworks. Du entscheidest. :-P

Dein Framework Tutorial:
  1. Du löschst die Zeilen 25 bis 49.
  2. Du kopierst Zeilen 14 bis 24 in eine neue Datei ajax.php
  3. du ergänzt: echo $JSONSTRUKTUR;
  4. du änderst Zeile10 zu var dynacontent = new Spry.Data.JSONDataSet("ajax.php");

17

Monday, January 19th 2009, 11:13pm

VIELEN DANK - so ist der Code optimierter, und dieser unnötiger Umweg mit der .txt Datei ist entfernt !
Nun werde ich noch die Umlaute ersetzen und dann in das Formular einfügen, htmlentities funktioniert leider nicht, nun werde ich es mit strstr() probieren!

Wünsch Dir einen schönen Abend...

gunaaa :sleeping:

Social bookmarks