If post processing is a large concern and you'd rather figure it out on the database side, you could try making a stored procedure. Using a cursor would allow you to loop through every row and use a counter to get every other row, effectively solving both the problem of holes in your ID numbers and wanting to do this server side. I guess the most puzzling piece for me is why you actually need to do this.
<br><br>Now I haven't actually tested this so it comes with no warranty and probably doesn't work but here's a quick pseudo stored procedure that might clear it up for you:<br><br>&nbsp;CREATE PROCEDURE getEveryOther(IN starting_id INT)
<br>&nbsp;&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE complete&nbsp;&nbsp;&nbsp; &nbsp; INT DEFAULT 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE rank &nbsp;&nbsp;&nbsp; &nbsp; INT DEFAULT 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE current_id INT;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE cur1 CURSOR FOR SELECT foo_id FROM foos WHERE foo_id &gt;= starting_id LIMIT 10;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET complete = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN cur1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHILE complete = 0 DO<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FETCH cur1 INTO current_id;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET rank = rank+1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF MOD(rank, 2) = 1 THEN
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT current_id;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END IF;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END WHILE;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLOSE cur1;<br>&nbsp;&nbsp;&nbsp;&nbsp; END;<br><br>Cheers and good luck!<br><br><div><span class="gmail_quote">On 2/1/06, <b class="gmail_sendername">
Rahmin Pavlovic</b> &lt;<a href="mailto:rahmin@insite-out.com">rahmin@insite-out.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>On 2/1/06 3:19 PM, &quot;Chris Merlo&quot; &lt;<a href="mailto:chris@theyellowbox.com">chris@theyellowbox.com</a>&gt; wrote:<br><br>&gt; If you have a table with an auto-generated ID, where you have ever deleted a<br>
&gt; record, in my experience with MySQL, the deleted ID won't get reused, and so<br>&gt; your ID values will be 1, 2, 3, 5, 6, 7, etc...&nbsp;&nbsp;Therefore, that first line<br>&gt; will grab records with IDs 1, 3, 6, 8, etc...<br>
<br>Is that not still every other record?&nbsp;&nbsp;(I don't particularly need every even<br>or odd record id, just every other entry.)<br><br>I don't particularly mind performing logic on the recordset after the fact,<br>but I would rather put the processing weight on the SQL side (more out of
<br>principle than anything else).<br><br><br>_______________________________________________<br>New York PHP Community Talk Mailing List<br><a href="http://lists.nyphp.org/mailman/listinfo/talk">http://lists.nyphp.org/mailman/listinfo/talk
</a><br>New York PHP Conference and Expo 2006<br><a href="http://www.nyphpcon.com">http://www.nyphpcon.com</a><br>Show Your Participation in New York PHP<br><a href="http://www.nyphp.org/show_participation.php">http://www.nyphp.org/show_participation.php
</a><br></blockquote></div><br>