Hey Cor,
One thing I noticed was the string $xmlOutput was switching between
single and double quotes. Probably want to stick to one or the other.
Excuse the re-write, but this is how I would write that php.
Don't know if it works as I can not test, but try this code and let me
know what you get.
Also, you may want to separate each call to the database into separate
functions.
IE:
function getProjects() {
}
function getUserData() {
}
function getMaterials() {
}
$projects = getProjects();
$userdata = getUserData();
$materials = getMaterials();
etc..
then have a function that puts together the XML results.
function createXML($projects, $userdata, $materials) {
}
Your call on that though.
If the code I gave does not work, try taking a look here to see if you
can find a solution for the special characters.
http://php.net/manual/en/function.htmlspecialchars.php
php.net is gold! Best of luck!
:)
Hope everybody doesn't mind the php convo being a flash list.
If so message me personally Cor.
//CODE --------------------------
<?php
///////////// Read Project /////////////
if (isset($_POST['sendRequest']) && $_POST['sendRequest'] ==
"read_project")
{
$xmlOutput = "";
$project_nummer = "";
$project_klantnummer = "";
$currentTable = "tbl_projecten";
if ($_POST['isParticulier'] == "ja") {
$currentTable = "tbl_particulier_projecten";
}
$project_nummer = $_POST['project_nummer'];
$xmlOutput = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
$xmlOutput .= "\n<data>";
//-------PROJECTGEGEVENS
$sql = "SELECT * FROM ".mysql_real_escape_string($currentTable)."
WHERE
project_nummer
=".htmlentities(mysql_real_escape_string($project_nummer));
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc($result)) {
array_push($recordArray, $row);
}
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<project>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
if($key == "project_klantnummer"){
$project_klantnummer = $value;
}//end if
}//end foreach
$xmlOutput .= "\t</project>\n";
}
//------- KLANTGEGEVENS
$sql = "SELECT * FROM tbl_klanten
WHERE
klant_nummer=".mysql_real_escape_string($project_klantnummer);
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc($result)) {
array_push($recordArray, $row);
}
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<klant>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
}
$xmlOutput .= "\t</klant>\n";
}
//------- MATERIALENVERBRUIK
$currentTable = "tbl_materialen_verbruik";
if ($_POST['isParticulier'] == "ja") {
$currentTable = "tbl_particulier_materialen_verbruik";
}
$sql = "SELECT * FROM ".mysql_real_escape_string($currentTable)."
WHERE
mv_projectnummer
=".htmlentities(mysql_real_escape_string($project_nummer));
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc($result)) {
array_push($recordArray, $row);
}
$xmlOutput.="<materialen_verbruik>";
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<mv>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
}
$xmlOutput .= "\t</mv>\n";
}
$xmlOutput.="</materialen_verbruik>";
//------- URENVERBRUIK
$currentTable = "tbl_uren_verbruik";
if ($_POST['isParticulier'] == "ja") {
$currentTable = "tbl_particulier_uren_verbruik";
}
$sql = "SELECT * FROM ".mysql_real_escape_string($currentTable)."
WHERE
uv_projectnummer
=".htmlentities(mysql_real_escape_string($project_nummer));
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc($result)) {
array_push($recordArray, $row);
}
$xmlOutput.="<uren_verbruik>";
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<uv>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
}
$xmlOutput .= "\t</uv>\n";
}
$xmlOutput.="</uren_verbruik>";
//------- MATERIALEN
$sql = "SELECT * FROM tbl_materialen";
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc($result)) {
array_push($recordArray, $row);
}
$xmlOutput.="<materialen>";
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<mat>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
}
$xmlOutput .= "\t</mat>\n";
}
$xmlOutput.="</materialen>";
//------- USERDATA ZONDER ACCOUNT_TYPE EN WACHTWOORD !
$sql = "SELECT user_id, voorletters, tussenvoegsel, achternaam,
uurloon FROM tbl_users";
$result = mysql_query($sql);
$recordArray = array();
//maak assoc array om fieldnames als XML-tags te gebruiken
while ($row = mysql_fetch_assoc ($result)) {
array_push($recordArray, $row);
}
$xmlOutput.="<users>";
for ($i=0; $i<count($recordArray); $i++) {
//echo $recordArray[$i]['id'];
$xmlOutput .= "\t<user>\n";
// $key is de assoc fieldname en $value de inhoud
foreach ($recordArray[$i] as $key => $value) {
$xmlOutput .= "\t\t<" . $key . ">" .
htmlspecialchars(stripslashes($value), ENT_QUOTES, "UTF-8") . "</" .
$key . ">\n";
}
$xmlOutput .= "\t</user>\n";
}
$xmlOutput.="</users>";
//sluit de root tag
$xmlOutput .= "</data>";
header("Content-type: text/xml");
print "returnXML=".$xmlOutput;
}
//End READ PROJECT
?>
//END CODE ------------------
FYI, the ENT_QUOTES and "UTF-8" can be removed if you wish.
That is mostly what I wanted to see if works.
Best,
Karl
On Aug 8, 2012, at 2:19 AM, Cor wrote:
Karl,
Maybe the full picture helps some more
I use these functions to create a xml string to return to Flash.
With use of the mysql fieldnames as key en the content as value and
never
have to worry about wath the fieldnames are.
So when Flash reads a project it send a URLVariable to PHP:
Karl DeSaulniers
Design Drumm
http://designdrumm.com
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders