Rudolpho
01.05.2009, 21:07:18
Guten Abend! Ich hoffe hier eine Antwort zu finden zu folgendem Problem:
Erstmal der ganze Code:
<?php
require("./xajax/xajax_core/xajax.inc.php");
function getIngredient($ingredient)
{
$query_ingredient=" SELECT e.*, s.*
FROM eco_recipes_raw as e
LEFT JOIN eco_structures as s
ON e.Structure=s.Name
WHERE e.Output = '".$ingredient."'
AND e.ID > '5'";
$result_ingredient = mysql_query($query_ingredient) or die(mysql_error());
while($ro = mysql_fetch_object($result_ingredient))
{
$icon_in = $ro->Icon;
$quantity_in = $ro->Quantity;
$labor_in = $ro->Labor;
$tip_in = $ro->Tip;
$upkeep_in = $ro->upkeep_cost;
}
}
function getManufactured($bFormValues)
{
$objResponse = new xajaxResponse();
$recipeid = $bFormValues['manufact_recipe'];
$taxrate = $bFormValues['tax'];
$markup = $bFormValues['markup'];
$uAdv = $bFormValues['useAdvanced'];
if(empty($recipeid) || empty($taxrate))
{
$objResponse->assign("holder", "innerHTML", "<font color='red'>Please fill out the form completely.</font>");
$objResponse->redirect("http://www.les-elites.org/index.php?article_id=125", "4");
return $objResponse;
}
else
{
$link = mysql_connect('xxx', 'xxxx', 'xxxxx');
mysql_select_db('xxxxxx', $link);
$sql="SELECT e.*, s.*
FROM eco_recipes_manufactured as e
LEFT JOIN eco_structures as s
ON e.Structure=s.Name
WHERE e.ID = '".$recipeid."'";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_object($result))
{
$icon = $row->icon;
$name = $row->Recipe;
$output = $row->Output;
$quantity = $row->Quantity;
$structure = $row->Structure;
$alt_structure = $row->Alt_Structure;
$labor = $row->Labor;
$tip = $row->Tip;
$upkeep = $row->upkeep_cost;
$ing1 = $row->ing_1;
$qty1 = $row->qty_1;
$ing2 = $row->ing_2;
$qty2 = $row->qty_2;
$ing3 = $row->ing_3;
$qty3 = $row->qty_3;
$ing4 = $row->ing_4;
$qty4 = $row->qty_4;
$ing5 = $row->ing_5;
$qty5 = $row->qty_5;
$ing6 = $row->ing_6;
$qty6 = $row->qty_6;
$ing7 = $row->ing_7;
$qty7 = $row->qty_7;
$ing8 = $row->ing_8;
$qty8 = $row->qty_8;
$ing9 = $row->ing_9;
$qty9 = $row->qty_9;
$ing10 = $row->ing_10;
$qty10 = $row->qty_10;
$ing11 = $row->ing_11;
$qty11 = $row->qty_11;
$ing12 = $row->ing_12;
$qty12 = $row->qty_12;
}
if ($uAdv == "Advanced")
{
$adv = 0.8;
}
else
{
$adv = 1;
}
$sOut = "<table><tr><th id=\"icons\"><img src=\"/files/icons/".$icon."\"></th><th colspan=3><span>". $name ."</span></th><th><input type=\"reset\" name=\"reset\" value=\"Reset\" onclick=\"refreshPage()\" style=\"font-size: 0.8em;\" /></th></tr>";
$sOut .= "<tr><td>Produced Item: ".$output."</td><td>Quantity: ".$quantity."</td><td colspan=2></td></tr>";
if (!empty($ing1))
{
$ingredient = $ing1;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing1."</td><td>".$qty1."</td><td>".$tip_in."</td></tr>";
}
if (!empty($ing2))
{
$ingredient = $ing2;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing2."</td><td>".$qty2."</td><td></td></tr>";
}
if (!empty($ing3))
{
$ingredient = $ing3;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing3."</td><td>".$qty3."</td><td></td></tr>";
}
if (!empty($ing4))
{
$ingredient = $ing4;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing4."</td><td>".$qty4."</td><td></td></tr>";
}
if (!empty($ing5))
{
$ingredient = $ing5;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing5."</td><td>".$qty5."</td><td></td></tr>";
}
if (!empty($ing6))
{
$ingredient = $ing6;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing6."</td><td>".$qty6."</td><td></td></tr>";
}
if (!empty($ing7))
{
$ingredient = $ing7;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing7."</td><td>".$qty7."</td><td></td></tr>";
}
if (!empty($ing8))
{
$ingredient = $ing8;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing8."</td><td>".$qty8."</td><td></td></tr>";
}
if (!empty($ing9))
{
$ingredient = $ing9;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing9."</td><td>".$qty9."</td><td></td></tr>";
}
if (!empty($ing10))
{
$ingredient = $ing10;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing10."</td><td>".$qty10."</td><td></td></tr>";
}
if (!empty($ing11))
{
$ingredient = $ing11;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing11."</td><td>".$qty11."</td><td></td></tr>";
}
if (!empty($ing12))
{
$ingredient = $ing12;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing12."</td><td>".$qty12."</td><td></td></tr>";
}
$sOut .= "</table>";
$objResponse->script('xajax_getIngredient($ingredient);');
$objResponse->assign("holder", "innerHTML", $sOut);
$objResponse->assign("holder","style.backgroundColor","white");
$objResponse->assign("form","style.visibility","hidden");
$objResponse->assign("form","style.height","0px");
return $objResponse;
}
}
$xajax = new xajax();
$xajax->configure('javascript URI', 'xajax/');
/// $xajax->configure('debug', true);
$xajax->registerFunction("getRecipe");
$xajax->registerFunction("getManufactured");
$xajax->processRequest();
?>
Und nun mein Problem:
if (!empty($ing1))
{
$ingredient = $ing1;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing1."</td><td>".$qty1."</td><td>".$tip_in."</td></tr>";
}
Die Funktion getIngredient() per se funktioniert. Die andere Funktion auch.
Wenn man $ingredient ausgibt ist auch der richtige wert drinnen. Nur irgendwo geht das ganze verloren........? z.B. die Variable $tip_in wird nicht ausgegeben. Funktioniert de rCode so wie ich ihn mir ausgedacht habe nicht? Kann ich in einer Funktion eine 2.te Funktion aufrufen die dann die entsprechenden Variablen auch weitergiibt?
Erstmal der ganze Code:
<?php
require("./xajax/xajax_core/xajax.inc.php");
function getIngredient($ingredient)
{
$query_ingredient=" SELECT e.*, s.*
FROM eco_recipes_raw as e
LEFT JOIN eco_structures as s
ON e.Structure=s.Name
WHERE e.Output = '".$ingredient."'
AND e.ID > '5'";
$result_ingredient = mysql_query($query_ingredient) or die(mysql_error());
while($ro = mysql_fetch_object($result_ingredient))
{
$icon_in = $ro->Icon;
$quantity_in = $ro->Quantity;
$labor_in = $ro->Labor;
$tip_in = $ro->Tip;
$upkeep_in = $ro->upkeep_cost;
}
}
function getManufactured($bFormValues)
{
$objResponse = new xajaxResponse();
$recipeid = $bFormValues['manufact_recipe'];
$taxrate = $bFormValues['tax'];
$markup = $bFormValues['markup'];
$uAdv = $bFormValues['useAdvanced'];
if(empty($recipeid) || empty($taxrate))
{
$objResponse->assign("holder", "innerHTML", "<font color='red'>Please fill out the form completely.</font>");
$objResponse->redirect("http://www.les-elites.org/index.php?article_id=125", "4");
return $objResponse;
}
else
{
$link = mysql_connect('xxx', 'xxxx', 'xxxxx');
mysql_select_db('xxxxxx', $link);
$sql="SELECT e.*, s.*
FROM eco_recipes_manufactured as e
LEFT JOIN eco_structures as s
ON e.Structure=s.Name
WHERE e.ID = '".$recipeid."'";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_object($result))
{
$icon = $row->icon;
$name = $row->Recipe;
$output = $row->Output;
$quantity = $row->Quantity;
$structure = $row->Structure;
$alt_structure = $row->Alt_Structure;
$labor = $row->Labor;
$tip = $row->Tip;
$upkeep = $row->upkeep_cost;
$ing1 = $row->ing_1;
$qty1 = $row->qty_1;
$ing2 = $row->ing_2;
$qty2 = $row->qty_2;
$ing3 = $row->ing_3;
$qty3 = $row->qty_3;
$ing4 = $row->ing_4;
$qty4 = $row->qty_4;
$ing5 = $row->ing_5;
$qty5 = $row->qty_5;
$ing6 = $row->ing_6;
$qty6 = $row->qty_6;
$ing7 = $row->ing_7;
$qty7 = $row->qty_7;
$ing8 = $row->ing_8;
$qty8 = $row->qty_8;
$ing9 = $row->ing_9;
$qty9 = $row->qty_9;
$ing10 = $row->ing_10;
$qty10 = $row->qty_10;
$ing11 = $row->ing_11;
$qty11 = $row->qty_11;
$ing12 = $row->ing_12;
$qty12 = $row->qty_12;
}
if ($uAdv == "Advanced")
{
$adv = 0.8;
}
else
{
$adv = 1;
}
$sOut = "<table><tr><th id=\"icons\"><img src=\"/files/icons/".$icon."\"></th><th colspan=3><span>". $name ."</span></th><th><input type=\"reset\" name=\"reset\" value=\"Reset\" onclick=\"refreshPage()\" style=\"font-size: 0.8em;\" /></th></tr>";
$sOut .= "<tr><td>Produced Item: ".$output."</td><td>Quantity: ".$quantity."</td><td colspan=2></td></tr>";
if (!empty($ing1))
{
$ingredient = $ing1;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing1."</td><td>".$qty1."</td><td>".$tip_in."</td></tr>";
}
if (!empty($ing2))
{
$ingredient = $ing2;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing2."</td><td>".$qty2."</td><td></td></tr>";
}
if (!empty($ing3))
{
$ingredient = $ing3;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing3."</td><td>".$qty3."</td><td></td></tr>";
}
if (!empty($ing4))
{
$ingredient = $ing4;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing4."</td><td>".$qty4."</td><td></td></tr>";
}
if (!empty($ing5))
{
$ingredient = $ing5;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing5."</td><td>".$qty5."</td><td></td></tr>";
}
if (!empty($ing6))
{
$ingredient = $ing6;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing6."</td><td>".$qty6."</td><td></td></tr>";
}
if (!empty($ing7))
{
$ingredient = $ing7;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing7."</td><td>".$qty7."</td><td></td></tr>";
}
if (!empty($ing8))
{
$ingredient = $ing8;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing8."</td><td>".$qty8."</td><td></td></tr>";
}
if (!empty($ing9))
{
$ingredient = $ing9;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing9."</td><td>".$qty9."</td><td></td></tr>";
}
if (!empty($ing10))
{
$ingredient = $ing10;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing10."</td><td>".$qty10."</td><td></td></tr>";
}
if (!empty($ing11))
{
$ingredient = $ing11;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing11."</td><td>".$qty11."</td><td></td></tr>";
}
if (!empty($ing12))
{
$ingredient = $ing12;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"><td>".$ing12."</td><td>".$qty12."</td><td></td></tr>";
}
$sOut .= "</table>";
$objResponse->script('xajax_getIngredient($ingredient);');
$objResponse->assign("holder", "innerHTML", $sOut);
$objResponse->assign("holder","style.backgroundColor","white");
$objResponse->assign("form","style.visibility","hidden");
$objResponse->assign("form","style.height","0px");
return $objResponse;
}
}
$xajax = new xajax();
$xajax->configure('javascript URI', 'xajax/');
/// $xajax->configure('debug', true);
$xajax->registerFunction("getRecipe");
$xajax->registerFunction("getManufactured");
$xajax->processRequest();
?>
Und nun mein Problem:
if (!empty($ing1))
{
$ingredient = $ing1;
getIngredient($ingredient);
$sOut .= "<tr><td id=\"icons\"><img src=\"/files/icons/".$icon_in."\"></td><td>".$ing1."</td><td>".$qty1."</td><td>".$tip_in."</td></tr>";
}
Die Funktion getIngredient() per se funktioniert. Die andere Funktion auch.
Wenn man $ingredient ausgibt ist auch der richtige wert drinnen. Nur irgendwo geht das ganze verloren........? z.B. die Variable $tip_in wird nicht ausgegeben. Funktioniert de rCode so wie ich ihn mir ausgedacht habe nicht? Kann ich in einer Funktion eine 2.te Funktion aufrufen die dann die entsprechenden Variablen auch weitergiibt?