我昨天提交了一个关于此代码的问题,但我遇到了另一个问题。我也怀疑逃避和诸如此类的错误,所以非常感谢任何输入。
页面上有两个可以捐赠的项目。所需项目的数量根据捐赠的内容而变化,该内容存储在数据库中。但是只有一个项目数字正在改变。这是代码:
$amount_left = $db->query("SELECT required_items.name AS Name, required_items.required_amount - donations.donation_amount AS Amount_Left
FROM required_items AS r JOIN donations AS d ON d.item_id=r.id");
// Print out the table tag and header
echo("<form name=\"donationForm\" action=\"" . $pageName ."\" method=\"POST\">\n<fieldset>");
echo("<table>\n");
echo("<tr>\n<th>Item Name</th><th>Amount</th>\n</tr>\n");
try{
// Round negative amounts to zero
if($amount_left['Amount_Left'] < 0){
$amount_left['Amount_Left'] = 0;
}
// Create a new table row
echo("<tr>");
// Create a new table cell for the name and required_amount fields
echo("<td>" . $amount_left['Name'] . "</td>");
echo("<td>" . $amount_left['Amount_Left'] . "</td>");
echo("<td><input type=\"radio\" name=\"radioButtons\" value=\"". $row['id'] ."\"></input></td>");
echo("</tr>\n");
} catch(PDOException $e) {
// Catch all errors and print them out
echo("Error: ");
echo($e->getMessage());
}
// Close the table and create our submit button
echo("</table>\n<br>\n");
echo("<div>\n<label>Amount</label>\n<input type=\"number\" name=\"amount\">\n</div>\n");
echo("<div>\n<label>Email</label>\n<input type=\"email\" name=\"email\">\n</div>\n");
echo("<div>\n<label>Name</label>\n<input type=\"text\" name=\"name\">\n</div>\n");
echo("<div>\n<input type=\"submit\" name=\"donate\" value=\"Donate\" />\n</div>\n");
echo("</fieldset>\n</form>\n")
数据库包含两个必需项目,第一个要求数量为20,第二个要求数量为10.第二个数据不会根据数据库中的捐赠更新数量。
回显所有的HTML还有什么好处吗?或者我可以把它放在网页上吗?
编辑:为了澄清我的结果,数据库包括两个表,一个用于required_items,另一个用于捐赠。
required_items具有:id,name,required_amount
捐款有:id,name,email,donation_amount,item_id