natronp Posted January 13, 2010 Share Posted January 13, 2010 Ok, i thought i had straightened this out, but now I'm missing the first row from my query again. I'm sure i'm making some noobish mistake. I can trace out the # of rows with mysql_num_rows and it is correct. My loop seems to omit the first row however. code: function listPhysByAlpha($sv){ //put these in here for testing, was thinking that variables weren't being re-instantiated on function call $totalpages=0; $r = 0; $numrows = 0; $result = mysql_query("SELECT * FROM physicians WHERE lastName LIKE '".$sv."%' ORDER BY lastName") or die(mysql_error()); $numrows = mysql_num_rows($result); echo "rows: ".$numrows; //traces correctly //bunch of stuff goes here for pagination $i = 0; // while there are rows to be fetched... while($info = mysql_fetch_array( $result )) { $i++; if ($i % 2) {echo "<div id='listA'>";}else {echo "<div id='listB'>";} echo "<table width='424' border='0' cellspacing='0' cellpadding='0'><tr><td width='63' valign='top'><div style='text-align:center'><div id='physPhoto'><img src='images/physPhotos/thumbs/".$info['photo']."' width='62' height='67' /></div></div></td><td width='6'></td><td width='290' valign='top'><span class='physName'>".$info['firstName']." ".$info['lastName']."</span><br/><span class='physSpecialty'>".$info['specialty1']." ".$info['specialty2']."</span><br/><span class='physLocation'>".$info['location']."</span></td><td width='65' valign='top'><span class='physLink'>view bio</span></td></tr></table>"; echo "</div><img src='images/oneTrans.gif' width='1' height='4'/>"; } echo "<br/><br/>"; //bunch of stuff for pagination goes here as well } Quote Link to comment https://forums.phpfreaks.com/topic/188333-missing-first-row-from-query-results/ Share on other sites More sharing options...
teynon Posted January 13, 2010 Share Posted January 13, 2010 Try ensuring that you are in fact missing a row by running that sql statement via PHPMyAdmin and seeing what the results are. Quote Link to comment https://forums.phpfreaks.com/topic/188333-missing-first-row-from-query-results/#findComment-994255 Share on other sites More sharing options...
PFMaBiSmAd Posted January 13, 2010 Share Posted January 13, 2010 Your first occurrence of //bunch of stuff goes here for pagination is probably fetching a row from the result set. It will take seeing your actual code to directly help you with the problem. Quote Link to comment https://forums.phpfreaks.com/topic/188333-missing-first-row-from-query-results/#findComment-994257 Share on other sites More sharing options...
natronp Posted January 13, 2010 Author Share Posted January 13, 2010 Thanks for replying guys. Teynon: I've checked the database directly and I am definitely dropping the first row somewhere. PFMaBiSmAd: here is the entire function (yikes); function listPhysByAlpha($sv){ $totalpages=0; $r = 0; $numrows = 0; $result = mysql_query("SELECT * FROM physicians WHERE lastName LIKE '".$sv."%' ORDER BY lastName") or die(mysql_error()); //$r = mysql_fetch_row($result); //$numrows = $r[0]; $numrows = mysql_num_rows($result); echo "rows: ".$numrows; // number of rows to show per page $rowsperpage = 10; // find out total pages $totalpages = ceil($numrows / $rowsperpage); // get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) { // cast var as int $currentpage = (int) $_GET['currentpage']; } else { // default page num $currentpage = 1; } // end if // if current page is greater than total pages... if ($currentpage > $totalpages) { // set current page to last page $currentpage = $totalpages; } // end if // if current page is less than first page... if ($currentpage < 1) { // set current page to first page $currentpage = 1; } // end if // the offset of the list, based on current page $offset = ($currentpage - 1) * $rowsperpage; //------------------pag links if ($numrows > 10) { echo "what's up doc? ".$numrows." ".$totalpages; // range of num links to show $range = 3; // if not on page 1, don't show back links if ($currentpage > 1) { // show << link to go back to page 1 echo " <a href='http://mydomain/mypage.html?currentpage=1'><<</a> "; // get previous page num $prevpage = $currentpage - 1; // show < link to go back to 1 page echo " <a href='http://mydomain/mypage.html?currentpage=$prevpage'><</a> "; } // end if // loop to show links to range of pages around current page for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { // if it's a valid page number... if (($x > 0) && ($x <= $totalpages)) { // if we're on current page... if ($x == $currentpage) { // 'highlight' it but don't make a link echo " [<b>$x</b>] "; // if not current page... } else { // make it a link echo " <a href='http://mydomain/mypage.html?currentpage=$x'>$x</a> "; } // end else } // end if } // end for // if not on last page, show forward and last page links if ($currentpage != $totalpages) { // get next page $nextpage = $currentpage + 1; // echo forward link for next page echo " <a href='http://mydomain/mypage.html.html?currentpage=$nextpage'>></a> "; // echo forward link for lastpage echo " <a href='http://mydomain/mypage.html.html?currentpage=$totalpages'>>></a> "; } // end if }//end if //------------------end pag links echo "<br/><br/>"; // get the info from the db $i = 0; // while there are rows to be fetched... while($info = mysql_fetch_array( $result )) { $i++; if ($i % 2) {echo "<div id='listA'>";}else {echo "<div id='listB'>";} echo "<table width='424' border='0' cellspacing='0' cellpadding='0'><tr><td width='63' valign='top'><div style='text-align:center'><div id='physPhoto'><img src='images/physPhotos/thumbs/".$info['photo']."' width='62' height='67' /></div></div></td><td width='6'></td><td width='290' valign='top'><span class='physName'>".$info['firstName']." ".$info['lastName']."</span><br/><span class='physSpecialty'>".$info['specialty1']." ".$info['specialty2']."</span><br/><span class='physLocation'>".$info['location']."</span></td><td width='65' valign='top'><span class='physLink'>view bio</span></td></tr></table>"; echo "</div><img src='images/oneTrans.gif' width='1' height='4'/>"; } echo "<br/><br/>"; if ($totalpages > 1) { // range of num links to show $range = 3; // if not on page 1, don't show back links if ($currentpage > 1) { // show << link to go back to page 1 echo " <a href='http://mydomain/mypage.html?currentpage=1'><<</a> "; // get previous page num $prevpage = $currentpage - 1; // show < link to go back to 1 page echo " <a href='http://mydomain/mypage.html.html?currentpage=$prevpage'><</a> "; } // end if // loop to show links to range of pages around current page for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { // if it's a valid page number... if (($x > 0) && ($x <= $totalpages)) { // if we're on current page... if ($x == $currentpage) { // 'highlight' it but don't make a link echo " [<b>$x</b>] "; // if not current page... } else { // make it a link echo " <a href='http://mydomain/mypage.html.html?currentpage=$x'>$x</a> "; } // end else } // end if } // end for // if not on last page, show forward and last page links if ($currentpage != $totalpages) { // get next page $nextpage = $currentpage + 1; // echo forward link for next page echo " <a href='http://mydomain/mypage.html.html?currentpage=$nextpage'>></a> "; // echo forward link for lastpage echo " <a href='http://mydomain/mypage.html?currentpage=$totalpages'>>></a> "; } // end if }//end if echo "<br/><br/>"; } Quote Link to comment https://forums.phpfreaks.com/topic/188333-missing-first-row-from-query-results/#findComment-994276 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.