tdd1984 Posted July 13, 2006 Share Posted July 13, 2006 Could someone help me for some reason I'm getting duplicat results on my sql query my query was working fine until i added a second one cause i was using a pagination. My 1st query was working fine until i went and added the second queryi can be contact here, or e-mail tdd1984@yahoo.com, AOL: tdd1984, or yahoo tdd1984, or msn tylerd01@hotmail.com<?phpmysql_select_db("tdd1984") or die("Problem selecting database"); $type = urlencode ($_GET['type']); $limit = 25;$sql = "SELECT COUNT(*) FROM (items JOIN user ON items.userId=user.ID) LEFTJOIN images ON items.itemId=images.idNum ";if (isset($_GET['type'])) { $sql .= " WHERE type='".urlencode($_GET['type'])."'"; }$result_count = mysql_query($sql) or die ("MySQL Error: ".mysql_error());$numofrows = mysql_fetch_array ($result_count); if(empty($page)) { // Checks if the $page variable is empty (not set) $page = 1; // If it is empty, we're on page 1 } $limitvalue = ($page - 1) * $limit; // Ex: (2 * 25) - 25 = 25 <- data starts at 25$sql1 = "SELECT itemId, userId, description, date, city, county, idNum, name,price, type FROM (items JOIN user ON items.userId=user.ID) LEFT JOIN images ONitems.itemId=images.idNum";if (isset($_GET['type'])) { $sql1 .= " WHERE type='".urlencode($_GET['type'])."'"; }$sql1 .= "limit $limitvalue, $limit";$result = mysql_query($sql1) or die("Error: " . mysql_error()); if(mysql_num_rows($result) == 0) { echo("Nothing to Display!"); }echo "<TABLE width=\"25px\">\n";echo "<TR><TD colspan=\"2\"><imgsrc=\"http://indianaclassifiedads.com/description.jpg\"></TD><TD><imgsrc=\"http://indianaclassifiedads.com/price.jpg\"></TD><TD><imgsrc=\"http://indianaclassifiedads.com/datesubmitted.jpg\"><td><imgsrc=\"http://indianaclassifiedads.com/city.jpg\"></td><TD><imgsrc=\"http://indianaclassifiedads.com/county.jpg\"></td></TD></TR>\n"; while($row = mysql_fetch_array($result)) { for($i = 0; $i < $result; $i++) { if($i % 2) { echo "<TR bgcolor=\"#FFFFCC\">\n"; } else { echo "<TR bgcolor=\"white\">\n"; } if($row['idNum'] == null) { echo "<td class=\"result-cell-border\"> </td>"; } else { echo "<td><img src=\"http://indianaclassifiedads.com/pic.gif\"></td>"; } echo "</td>"; echo "<td align=\"left\" class=\"result-cell-border\"> <span class=\"result-title\"> <ahref=\"contact.php?type-id=".$row['itemId']."&userid=".$row['userId']."\ class=\"result-title\"\">".$row['name']."</a> </span> <br />".$row['description']."</a></td> <td align=\"center\"class=\"result-cell-border\">$".$row['price']."</TD> <TD align=\"center\"class=\"result-cell-border\">".$row['date']."</td> <td align=\"center\"class=\"result-cell-border\">".$row['city']."</td> <td align=\"center\"class=\"result-cell-border\">".$row['county']."</TD>\n"; echo "</TR>\n"; } }echo "</TABLE>\n";//pagination next button if($page != 1) { $pageprev = $page--; // Fancy way of subtracting 1 from $page echo("<a href=\"$PHP_SELF&page=$pageprev\">PREV".$limit."</a> "); } else echo("PREV".$limit." "); // If we're on page 1, PREV is not a link $numofpages = $numofrows / $limit; /* We divide our total amount of rows (for example 102) by the limit (25).This will yield 4.08, which we can round down to 4. In the next few lines, we'll create 4 pages, and then check to see if we have extra rows remaining for a5th page. */ for($i = 1; $i <= $numofpages; $i++) { /* This for loop will add 1 to $i at the end of each pass until $i isgreater than $numofpages (4.08). */ if($i == $page) { echo($i." "); } else { echo("<a href=\"$PHP_SELF&page=$i\">$i</a> "); } } /* This if statement will not make the current page number available in link form. It will, however, make all other pages available in link form. */ // This ends the for loop if(($numofrows % $limit) != 0) { /* The above statement is the key to knowing if there are remainders, andit's all because of the %. In PHP, C++, and other languages, the % is known as a Modulus. It returns the remainder after dividing two numbers. If there is no remainder, it returns zero. In our example, it will return 0.8 */ if($i == $page) { echo($i." "); } else { echo("<a href=\"$PHP_SELF&page=$i\">$i</a> "); } /* This is the exact statement that turns pages into link form that isused above */ } // Ends the if statement if(($numofrows - ($limit * $page)) > 0) { /* This statement checks to see if there are more rows remaining, meaningthere are pages in front of the current one. */ $pagenext = $page++; // Fancy way of adding 1 to page echo("<ahref=\"$PHP_SELF?type=$type&page=$pagenext\">NEXT".$limit."</a>"); /* Since there are pages remaining, this outputs NEXT in link form. */ } else { echo("NEXT".$limit); /* If we're on the last page possible, NEXT will NOT be displayed inlink form. */ }?></body></html> Quote Link to comment https://forums.phpfreaks.com/topic/14485-duplicate-results-with-second-query/ Share on other sites More sharing options...
lead2gold Posted July 13, 2006 Share Posted July 13, 2006 change this:[code]mysql_fetch_array ($result_count);[/code]to this[code]mysql_fetch_assoc ($result_count);[/code] Quote Link to comment https://forums.phpfreaks.com/topic/14485-duplicate-results-with-second-query/#findComment-57516 Share on other sites More sharing options...
fenway Posted July 13, 2006 Share Posted July 13, 2006 Amazing that you could spot a single-line error in all of that mess. Quote Link to comment https://forums.phpfreaks.com/topic/14485-duplicate-results-with-second-query/#findComment-57626 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.