0

我昨天提交了一个关于此代码的问题,但我遇到了另一个问题。我还怀疑转义和诸如此类的错误,因此非常感谢任何输入。

页面上有两件可以捐赠的物品。所需物品的数量会根据已捐赠的物品而变化,这些物品存储在数据库中。但是,只有一个项目编号发生了变化。这是代码:

$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、姓名、电子邮件、donation_amount、item_id

4

0 回答 0