Re: pagination driving me insane [message #174644 is a reply to message #174624] |
Thu, 23 June 2011 17:24 |
Co
Messages: 75 Registered: May 2011
Karma:
|
Member |
|
|
On 22 jun, 19:17, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> On 6/22/2011 12:57 PM, Co wrote:
>
>
>
>
>
>
>
>
>
>> On 22 jun, 17:54, Jerry Stuckle<jstuck...@attglobal.net> wrote:
>>> On 6/22/2011 8:50 AM, Co wrote:>>> Marco
>
>>>> > So, make up your mind. Do GET or POST - don't try to do both.
>
>>>> > And once again - look at what you have in your $_GET and $_POST arrays,
>>>> > and use them to trace through the code. Figure out what it's doing.
>
>>> > Jerry,
>
>>> > i need the POST to search in my members accounts.
>>> > The problem is that PHP loses the query I run when I goto the next
>>> > page.
>>> > I preferred using a session variable but I wasn't able to get rit of
>>> > the variable after I filled it. So everytime when I come back to the
>>> > page it will automatically use the session variable again.
>>> > Or is there a way to clear the session variable when I load the page?
>
>>> > Marco
>
>>> <Top posting fixed>
>
>>> No, it's no longer there because the browser didn't send it. PHP didn't
>>> lose anything. From the browser's point of view, each page is a new
>>> request to the server, and the browser sends only what you tell it to send.
>
>>> What you need to do is determine if this a new search or a continuation
>>> of the previous search (i.e. display the next page). If the former,
>>> clear your old $_SESSION values (if any) and put new ones in there and
>>> display the first page. If the latter, use the data stored in the
>>> $_SESSION and display the next page of the search.
>
>>> There are any number of ways to determine if it is a continuation page;
>>> i.e. the $_GET or $_POST value has "page=next" or "page=3" in it; the
>>> current page number is in a hidden field in the form or similar. A new
>>> search wouldn't have those values.
>
>> I will try to work on that.
>> But can I clear the session before I open the page so that an
>> older session that I used ealier will be cleared until I hit the
>> submit button? I don't want to clear the whole sessions just the one
>> variable.
>
>> Marco
>
> You can unset() any element you want in the $_SESSION array. But you
> can't do ANYTHING until the user requests a page - your code doesn't get
> invoked until that time.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================
I have been trying the following code but I get an error when I click
the next page on my form:
if(isset($_POST['listByq']) && $_POST['listByq'] != "add") {
unset($_SESSION['listByq']);
$option = "";
$_SESSION['listByq'] = $_POST['listByq'];
}
if(isset($_SESSION['listByq'])) {
$option = $_SESSION['listByq'];
if ($option == "by_country") {
$country = $_POST['country'];
$queryString = "WHERE country='$country' AND email_activated='1'";
$queryMsg = "Showing Members from the country you searched for";
} else if ($option == "by_firstname") {
$firstname = $_POST['fname'];
$firstname = stripslashes($firstname);
$firstname = strip_tags($firstname);
$firstname = eregi_replace("`", "", $firstname);
$firstname = mysql_real_escape_string($firstname);
$queryString = "WHERE rank LIKE '%$firstname%' OR firstname LIKE '%
$firstname%' OR lastname LIKE '%$firstname%' AND email_activated='1'";
$queryMsg = "Showing Members with the name you searched for";
} else if ($option == "newest_members") {
$queryString = "WHERE email_activated='1' ORDER BY id DESC";
$queryMsg = "Showing Newest to Oldest Members";
}
} // end of if(isset($_SESSION....
Notice: Undefined index: fname
When the POST has been done there is no problem but after that it
doesn't recognise fname or country anymore.
Marco
|
|
|