這對於基於條件(如果已批准或拒絕的情況)是必需的。提交包含25行30個字段的格式的網格類型以用於批量插入。最後25個插入的行將被插入到temp_Orders表中,然後基於if批准,相同的數據(temp_Orders中的最後插入的行)需要立即複製到real_Orders。選擇表格的最後一個受影響的行以便立即選擇插入另一個表格
$query = "insert into temp_users (fname,sname,lname,email,dob,date_signup,date_expire) values ";
$count = count($_POST['fname']);
for($x=0;$x < $count; $x++)
{
$fname = $_POST['fname'][$x];
$sname = $_POST['sname'][$x];
$lname = $_POST['lname'][$x];
$dob = $_POST['dob'][$x];
$email = $_POST['email'][$x];
echo $fname . $sname . $lname . $dob . $email . '<br>';
$emty_tbl = "TRUNCATE temp_users";
$result_emty_tbl = mysql_query($emty_tbl);
if(!$result_emty_tbl){
die(mysql_error());
@mysql_free_result($result_emty_tbl);
}
$query .= "(
'$fname',
'$sname',
'$lname',
'$email',
'$dob',
'$today',
'$nextyear')";
/* If not last iteration, add a comma and a space */
if ($x < ($count - 1)) {
$query .= ", ";
}
$result = mysql_query($query);
}
if(!$result){
die(mysql_error());
@mysql_free_result($result);
} else {
$totalRID = mysql_affected_rows();
$lastRID = mysql_insert_id();
echo "Total records <b>" . $totalRID . " </b>entered into the database!" . "<br>";
echo "Current record number <b>" . $lastRID . " </b>entered into the database!" . "<br>";
echo "<form name='postbackid' method='post'>
<input type='hidden' name='lastrecord' value='$lastRID'>
<input type='button' value='Approved' name='approved' onclick='return Approved();'>
<input type='button' value='Declined' name='declined' onclick='return Declined();'>
</form>";
}
}
}
$postbackid=$_POST['lastrecord'];
echo $postbackid;
$sqlinsert = "INSERT INTO users (fname, sname, lname, dob, email, date_signup, date_expire)
SELECT fname, sname, lname, dob, email, date_signup, date_expire
FROM temp_users
WHERE id='$postbackid'";
$resultinsert = mysql_query($sqlinsert, $link);
你能否提供更多信息?爲什麼PHP代碼不能跟蹤最後25行,並對'real_Orders'表執行另一個'INSERT'? mysql_insert_id()的 – meustrus
工作正常,但在mysql_affected_rows()失敗。不知道如何做到這一點。 –
如果插入兩行,'mysql_insert_id()'插入第一個輸入的行,但是「mysql_affected_rows()」只插入一行最後一行。 –