ricky_vancouver Posted December 12, 2010 Share Posted December 12, 2010 I am trying to display the contents of a mysql table in descending order by "id". The script works fine until I add in the ORDER BY to the query. You can see below that I have the ORDER BY coded only if $category = hand, so I get an error now if category = hand, but not if category = baby or if cat = makeup. // how many rows to show per page$rowsPerPage = 6; // by default we show first page$pageNum = 1; $category = $_GET['category']; // if $_GET['page'] defined, use it as page numberif(isset($_GET['page'])){ $pageNum = $_GET['page']; } // counting the offset$offset = ($pageNum - 1) * $rowsPerPage; if ($category == "hand"){$query = "SELECT price, title, id FROM tm_inventory WHERE category='hand' ORDER BY id DESC"; } elseif ($category == "baby"){$query = "SELECT price, title, id FROM tm_inventory WHERE category='baby'"; } elseif ($category == "makeup"){$query = "SELECT price, title, id FROM tm_inventory WHERE category='makeup'"; } $pagingQuery = "LIMIT $offset, $rowsPerPage"; $result = mysql_query($query . $pagingQuery) or die('Error 1, query failed'); // print the inventory info in tableecho '<table border="0" cellpadding="2" cellspacing="0">'; while($row = mysql_fetch_array($result)){ $row2 = mysql_fetch_array($result) or $row2['id'] = "1" and $row2['title'] = " "; $row3 = mysql_fetch_array($result) or $row3['id'] = "1" and $row3['title'] = " "; printf("<tr><td align='center'> <img src=\"image3.php?id=%s\" width='150'><br> %s <br> %s </td> \n", $row["id"], $row["title"], $row["price"]); printf("<td align='center'> <img src=\"image3.php?id=%s\" width='150'><br> %s <br> %s </td> \n", $row2["id"], $row2["title"], $row2["price"]); printf("<td align='center'> <img src=\"image3.php?id=%s\" width='150'><br> %s <br> %s </td></tr>", $row3["id"], $row3["title"], $row3["price"]); }echo '</table>'; echo '<br>'; // how many rows we have in database$result = mysql_query($query) or die('Error 2, query failed'); $numrows = mysql_num_rows($result); // how many pages we have when using paging?$maxPage = ceil($numrows/$rowsPerPage); $self = $_SERVER['PHP_SELF']; // creating 'previous' and 'next' link // plus 'first page' and 'last page' link // print 'previous' link only if we're not // on page oneif ($pageNum > 1){ $page = $pageNum - 1; $prev = " <a href=\"$self?category=$category&page=$page\">[Prev]</a> "; $first = " <a href=\"$self?category=$category&page=1\">[First Page]</a> "; }else{ $prev = ' [Prev] '; // we're on page one, don't enable 'previous' link $first = ' [First Page] '; // nor 'first page' link}// print 'next' link only if we're not// on the last pageif ($pageNum < $maxPage){ $page = $pageNum + 1; $next = " <a href=\"$self?category=$category&page=$page\">[Next]</a> "; $last = " <a href=\"$self?category=$category&page=$maxPage\">[Last Page]</a> "; }else{ $next = ' [Next] '; // we're on the last page, don't enable 'next' link $last = ' [Last Page] '; // nor 'last page' link}// print the page navigation link//echo $first . $prev . " Page <strong>$pageNum</strong> of <strong>$maxPage</strong> " . $next . $last; echo $prev . " Page <strong>$pageNum</strong> of <strong>$maxPage</strong> " . $next; [a href=\"http://root.danielforsyth.com/mysql/image_upload/view5.php?category=hand\" target=\"_blank\"]http:// Here are some links so you can see what happens: [a href=\"http://root.danielforsyth.com/mysql/image_upload/view5.php?category=hand\" target=\"_blank\"]http://root.danielforsyth.com/mysql/image_...p?category=hand[/a] [a href=\"http://root.danielforsyth.com/mysql/image_upload/view5.php?category=baby\" target=\"_blank\"]http://root.danielforsyth.com/mysql/image_...p?category=baby[/a] Please tell me how to fix this - thanks Link to comment https://forums.phpfreaks.com/topic/221407-order-by-isnt-working/ Share on other sites More sharing options...
BlueSkyIS Posted December 12, 2010 Share Posted December 12, 2010 look at the SQL and you'll see the problem. echo $query . $pagingQuery; Link to comment https://forums.phpfreaks.com/topic/221407-order-by-isnt-working/#findComment-1146237 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.