表單由打印出等待批准的所有行的函數構成;MySQL:在具有多個ID的表單中傳遞單行ID
function all_reviews(){
$query1= mysql_query("SELECT * FROM {$table} WHERE first != '' && disp_state= '0' && rejected != '1'");
if (!$query1) {
die("Query to show fields from table failed");
}
$fields_num = mysql_num_fields($query1);
// printing table rows
while($row = mysql_fetch_array($query1))
{
//review action buttons
echo "<div class=\"rev_action\">";
echo "<input type=\"hidden\" name=\"".$row['id']."\">";
echo "<input type=\"submit\" name=\"accept\" value=\"Approve\" class=\"success rev_button\" onclick=\"document.getElementById('review_action').submit()\">";
echo "<input type=\"submit\" name=\"reject\" value=\"Reject\" class=\"error rev_button\" onclick=\"document.getElementById('review_action').submit()\">";
echo "</div>";
}
我猜測,正確的方法是通過在隱藏輸入中打印出行ID。問題是,一次可能打印出多於一行。
如何選擇與批准或拒絕按鈕相關的確切行?
HTML:
<form name="form" action="include/review_submit.php" id="review_action" method="post">
<?php all_reviews(); ?>
</form>
PHP(review_submit.php):
//database server connection
mysql_connect ("$servername","$dbusername","$dbpassword") or die(mysql_error());
//database connection
mysql_select_db("esd_db") or die(mysql_error());
//data feilds from review form
if($_POST['button'] == "Approve") {
//code to update given row with an approval status
}
//data feilds from review form
if($_POST['button'] == "Reject") {
//code to update given row with an rejection status
}
//insert values into table
mysql_query("UPDATE `reviews` ") or die(mysql_error());
Print "Success";
?>
我可以爲bu創建一個不同的id ttons?然後使用正則表達式來拉出id並將其傳遞到MySQL UPDATE?看起來髒......你們覺得怎麼樣? – frankV