I have a hand-coded solution if you are interested.
However, personally, I decided I only want to use this approach for a record edit/update.
For an edit, the number of records stays the same, so the pagination is bound to be identical.
For an insert, there will be an additional row in the recordset after insertion, which MAY occur on the next page
Similar issue for a deletion
Here's what I did
On my results page, just before my doctype declaration, i set a session variable equal to the querystring
<?php
if (!session_id()) session_start();
$_SESSION["QueryString"] = $_SERVER["QUERY_STRING"];
?>
On my update page, at the bottom of the update trigger code, i replaced
if ($WA_keepQueryString && $WA_redirectURL != "" && isset($_SERVER["QUERY_STRING"]) && $_SERVER["QUERY_STRING"] !== "" && sizeof($_POST) > 0) {
$WA_redirectURL .= ((strpos($WA_redirectURL, '?') === false)?"?":"&").$_SERVER["QUERY_STRING"];
}
with
if ($WA_keepQueryString && $WA_redirectURL != "" && isset($_SESSION["QueryString"]) && $_SESSION["QueryString"] !== "" && sizeof($_POST) > 0) {
$WA_redirectURL .= ((strpos($WA_redirectURL, '?') === false)?"?":"&").$_SESSION["QueryString"];
}