2017-11-30 2 views
-1

Ich habe einige Probleme in PHP: Ich möchte eine dynamische XML-Datei mit PHP erstellen einige Daten aus meiner MySQL-Datenbank abrufen. Mein Code ist unten gezeigt:Probleme beim Erstellen von dynamischen XML mit PHP und MySQL

<?php 
header("Content-type: text/xml"); 
echo '<?xml version="1.0" encoding="UTF-8"?>'; 

$sql = "SELECT bestellpositionen.id_bestellung, bestellpositionen.id, bestellpositionen.anzahl, produkte.preis * bestellpositionen.anzahl AS preisGesamt, bestellpositionen.id_produkt, produkte.name, produkte.beschreibung, produkte.preis AS preisEinzeln FROM bestellpositionen LEFT OUTER JOIN produkte ON (produkte.id = bestellpositionen.id_produkt) ORDER BY bestellpositionen.id_bestellung"; 
$result = $db->query($sql); 
?> 
<statistik> 
<?php 
foreach ($result as $row) { 
    echo '<bestellung id="' . $row['id_bestellung'] . '">'; 
    echo '<bestellposition id="' . $row['id'] . '">\n'; 
    echo " <anzahl>. $row['anzahl'] .</anzahl>\n\n"; 
    echo " <preis>. $row['preisGesamt'] .</preis>\n\n"; 
    echo '<produkt id="' . $row['id_produkt'] . '">\n'; 
    echo " <name>. $row['name'] .</name>\n\n"; 
    echo " <beschreibung>. $row['beschreibung'] . 
</beschreibung>\n\n"; 
    echo " <preis>. $row['preis'] .</preis>\n\n"; 
    echo "</produkt>"; 
    echo "</bestellposition>"; 
    echo "</bestellung>"; 
} 

?> 
</statistik> 

ich die folgende Fehlermeldung erhalten:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /opt/lampp/htdocs/buuuh.php on line 13 
+0

Können Sie Fehlermeldungen schreiben Sie bitte oder Ausgabe Sie bekommen –

+0

sicher, dass ich die Post :) –

+0

der Fehler ist im Einklang mit „Anzahl“ gibt es mehr erros bis Zeile tatsächlich bearbeiten 18 und danach bekomme ich diesen Fehler -> Fehler in Zeile 2 in Spalte 1: Extra Inhalt am Ende des Dokuments –

Antwort

0

Ich denke, das Problem könnte sein, dass Sie nicht Ihr Angebot enden, bevor Sie Ihre Variable in die Zeichenfolge hinzufügen versuchen Sie dies:

zum Beispiel auf der Linie 13 Sie

echo " <anzahl>. $row['anzahl'] .</anzahl>\n\n"; 

hatte Wo, wie es sollte l so schnell und wie folgt aus:

echo " <anzahl>". $row['anzahl'] ."</anzahl>\n\n";  

Ihr ganzer Block wie diese

<?php 
header("Content-type: text/xml"); 
echo '<?xml version="1.0" encoding="UTF-8"?>'; 

$sql = "SELECT bestellpositionen.id_bestellung, bestellpositionen.id, bestellpositionen.anzahl, produkte.preis * bestellpositionen.anzahl AS preisGesamt, bestellpositionen.id_produkt, produkte.name, produkte.beschreibung, produkte.preis AS preisEinzeln FROM bestellpositionen LEFT OUTER JOIN produkte ON (produkte.id = bestellpositionen.id_produkt) ORDER BY bestellpositionen.id_bestellung"; 
$result = $db->query($sql); 

echo "<statistik>"; 

foreach ($result as $row) { 
    echo '<bestellung id="' . $row['id_bestellung'] . '">'; 
    echo '<bestellposition id="' . $row['id'] . '">\n'; 
    echo " <anzahl>". $row['anzahl'] ."</anzahl>\n\n"; 
    echo " <preis>". $row['preisGesamt'] ."</preis>\n\n"; 
    echo '<produkt id="' . $row['id_produkt'] . '">\n'; 
    echo " <name>". $row['name'] ."</name>\n\n"; 
    echo " <beschreibung>". $row['beschreibung'] ."</beschreibung>\n\n"; 
    echo " <preis>". $row['preis'] ."</preis>\n\n"; 
    echo "</produkt>"; 
    echo "</bestellposition>"; 
    echo "</bestellung>"; 
} 
echo "</statistik>"; 

?> 

Was Ihre zweite Fehler

in den Kommentaren
error on line 2 at column 1: Extra content at the end of the document 

Wie Sie oben erwähnt aussehen sollte Ihre Frage, Sie konnten dieses Problem von c lösen ommenting aus dieser Codezeile

header("Content-type: text/xml"); 
+0

ah okay :) danke - aber jetzt bin ich immer noch diese seltsamen Fehler -> Fehler in Zeile 2 in Spalte 1: Zusätzlicher Inhalt am Ende des Dokuments - ich bleibe mit diesem für 2 Tage, versuchte so viele Fähigkeiten –

+0

Das wird verursacht durch '?>' ändern Sie das Ende Ihrer Datei zu sein 'Echo ""; ?> 'Es gibt einen anderen Ort, wo Sie die gleiche Fehleränderung haben?'?> ";' –

Verwandte Themen