NetBull
Erfahrenes Mitglied
Hi,
ich brauche für ein tool ein Ajax das für eine Auflistung jeden Datensatz einzeln abholt.
Der PHP Teil klappt auch und liefert sauber Datensatz für Datensatz in einer AJAX Schleife zurück:
Diese drei Methoden bauen das XML für die Ausgabe zusammen:
hier noch die Methode die das Array in XML parsed...
und am Ende wird das ganze noch ausgeben:
Soweit der PHP Teil, der funktioniert, falls ich nicht irgendwas übersehen habe, denn ich bekomme ein kaputtes XML Objekt... .
Das liefert mir zwar noch ein Oject, das scheint auch XML zu sein, aber folgender Fehler wird im im FireBug gezeigt:
xmlObject....
Fehler habe ich mal als Screenshot angehängt.
Wäre cool wenn jemand ne Lösung für mich hat, ich kämpf da schon den ganzen Tag mit und komm ned weiter.
cu s00n
deAndro
ich brauche für ein tool ein Ajax das für eine Auflistung jeden Datensatz einzeln abholt.
Der PHP Teil klappt auch und liefert sauber Datensatz für Datensatz in einer AJAX Schleife zurück:
Code:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE WurzelElement SYSTEM 'index.dtd'>
<root>
<treeViewNode>
<requestid>0</requestid>
<id>1</id>
<parent>0</parent>
<fullname>Test-Firma GmbH & CO KG</fullname>
<typeid>1</typeid>
<type>COMPANY</type>
</treeViewNode>
</root>
Diese drei Methoden bauen das XML für die Ausgabe zusammen:
Code:
function parseXmlHeader()
{
$this->cXmlResponse = "<?xml version='1.0' encoding='UTF-8'?>\r";
$this->cXmlResponse .= "<!DOCTYPE WurzelElement SYSTEM 'index.dtd'>\r";
$this->cXmlResponse .= "<root>\r";
}
function parseXmlFoot()
{
$this->cXmlResponse .= "</root> \r";
}
function getNodes()
{//*** holt die Nodes aus der Datenbank!
$mDaBa = new clsDataBaseConnector();
if($mDaBa->isConnected())
{
$mQuery =
"
SELECT
tvnodes.id, if(tvnodes.parent, tvnodes.parent, 0) as parent,
CONCAT(tvnodes.name1, ' ', tvnodes.name2) as fullname,
tvnodes.type as typeid, tvnodetypes.name as type
FROM
tvnodes, tvnodetypes
WHERE
tvnodetypes.id = tvnodes.type
AND tvnodes.parent is NULL
LIMIT ".$this->cResponseCounter.",1;
";
$mMySqlResult = $mDaBa->Query($mQuery);
if($mMySqlResult!=null)
$this->parseArray($mMySqlResult);
else
$this->parseError($mDaBa->Error());
}
else
$this->parseError($mDaBa->Error());
}
Code:
function parseArray($aArray)
{
foreach($aArray as $ds)
{
$this->cXmlResponse .= "\t<treeViewNode>\r";
$keys = array_keys($ds);
$this->cXmlResponse .= "\t\t<requestid>".$this->cResponseCounter."</requestid>\r";
foreach($keys as $key)
$this->cXmlResponse .= "\t\t<$key>".$ds[$key]."</$key>\r";
$this->cXmlResponse .= "\t</treeViewNode>\r";
}
}
und am Ende wird das ganze noch ausgeben:
Code:
header("Content-type: text/xml");
header("Cache-Control: no-store, no-cache");
echo $this->cXmlResponse;
Soweit der PHP Teil, der funktioniert, falls ich nicht irgendwas übersehen habe, denn ich bekomme ein kaputtes XML Objekt... .
Code:
var xmlObj = XmlRequest.responseXML;
xmlObject....
Fehler habe ich mal als Screenshot angehängt.
Wäre cool wenn jemand ne Lösung für mich hat, ich kämpf da schon den ganzen Tag mit und komm ned weiter.
cu s00n
deAndro