Return X values where an ID number doesnt matter
Posted on
16th Feb 2014 07:03 pm by
admin
Well as for subject heading, thats the best i could think of.
Currently im having a problem with a rather old piece of script i had written for a guestbook.
The guestbook itself relies completely on the `id` field of the table to show the posts.
But if a post is deleted, then it screws up the pagination of the posts such that if you were to click "next page" the same results as the last page would show.
The query:
Line number On/Off | Expand/Contract$set = $numAllResults-$offset+1;SELECT * FROM `posts` WHERE `id` <= '$set' ORDER BY `id` DESC
This query works wonders if every entry in the table is only incremented by 1, but breaks when an entry of 'X' does not exist. ie. it skips post 'X' but also shows older posts based on the newest entry. As i know this isnt clear, let me clear it up with an example:
Line number On/Off | Expand/Contracttable - `posts``id`, `name`, `post`1,'Joe','Hi there'2,'Johanna','Love the guest book'3,'Jeff','Great stuff'4,'James','Could have more stuff'8,'John','Excellent!'9,'Joel','Not bad'
As you can see, there are 3 entries missing because they were deleted.
As it stands, there should be 2 pages in the guestbook because there are more than 5 entries.
However, the first page will show entries:
9,8,4,3,2.
The second page:
8,4,3,2,1
Now in this example, the problem isnt too huge, although when i have say 20 entries with half deleted, it will show the same posts for about 4 pages, and then change after the $set is lower than the older posts.
Yes i am posting my code, but, this was written over a year ago now, so i know i am breaking some of my own today's standards for programming Im just looking for a fix so that when items are deleted it will still show everything properly.
Line number On/Off | Expand/Contract<?phpinclude_once("include/connect.php");$guestbookconnect = connect();mysql_select_db("alexast_db",$guestbookconnect);$offset = $_GET['p'];if(!$_GET['p']){$offset = 0;}if($offset < 0){print "<script>window.location = 'guestbook.php';</script>";}$results = 5; //display number of results per page.$currentresults = 0; $getAllPostsSQL = "SELECT * FROM `posts` ORDER BY `id` DESC";$getAllPostsQuery = mysql_query($getAllPostsSQL, $guestbookconnect) or die(mysql_error($guestbookconnect));$numAllResults = mysql_num_rows($getAllPostsQuery); $set = $numAllResults-$offset+1;$getPostsSQL = "SELECT * FROM `posts` WHERE `id` <= '$set' ORDER BY `id` DESC";$getPostsQuery = mysql_query($getPostsSQL, $guestbookconnect) or die(mysql_error($guestbookconnect));$numResults = mysql_num_rows($getPostsQuery); while($getPostsResult = mysql_fetch_assoc($getPostsQuery)){$currentresults++; if($currentresults <= $results){?> <div class="guestbook_frame"> <div class="guestbook_box1"> <div id="style_name"><?php print $getPostsResult['name']; ?></div> </div> <div class="guestbook_box2"> <div id="style_date"><?php print $getPostsResult['date']; ?></div> </div> <div class="guestbook_box3"> </div> <div class="guestbook_box4"> <div id="style_content"><?php print $getPostsResult['content']; ?></div> </div> </div><?php }}mysql_close($guestbookconnect);?>
No comments posted yet
Your Answer:
Login to answer
188
47
Other forums
Had a simple form script that suddenly stopped working
It was made about a year ago and had been working fine. Last time it was known to work for sure was
How to display random record from table?
I have the following code:
Code: <?php
$display_block .= "<input type=
I need some help with the IF command...
I have a large number of images in one section of my website with the .jpg format. I'm adding a bun
PHP referral database. I would like this form to email the referrer.
Okay, Hello I've been trolling for years. This the first time I've ever asked for php help. Normally
please help
HTML Code:
Code: <span id="ctl00"><span>
An odd assignment statement. Can someone explain this assignment to me?
What purpose is served by the bit of code between the two equal signs in the $installurl set? Is th
PHP4 to PHP5 Conversion
Hi Everyone,
I am working on a site that is built up on PHP4 and each page is being started f
Force download script not handling files with spaces properly
I have a regular old php force download script, uses this code:
Code: header("Cache-Cont
Blank record injected into database
I always found several blank records inside my database, although $SESSION is required to insert the
Basic Question about Threading and PHP...
I have a page that I am working on and it is taking several hours to process. The basics of what th