On Sep 27, 2005, at 10:28 AM, Pooly wrote:

The command in PHP is:

$query="SELECT id,first_name,last_name FROM Player ORDER BY id";
$players=mysql_query($query);

When issued from the mysql prompt, order is fine, but when
called  from php I'm getting that strange order:

1, 10, 11, 12, etc...

Steve Cochran


Then the problem is in your php code.  Mysql will certainly return
the rows ordered the same way to both the mysql client and to
php.  If php is showing a different order, then it must be
something your php code is doing.  If you post the code which
displays the results, I'm sure someone could point out the
problem, though that really belongs on a php list.
Michael



I had this same problem a while back, and while I'm probably making
the same mistakes you are but have no idea what they are, I solved
it by using ZEROFILL on the field I was sorting. So that PHP was
seeing 0001, 0002, 0003...

Worked for me, although from some of the replies I'm wondering if
that wasn't the best way to do it. :/


Well, since I wasn't the only person to have this problem, I'll post
this here in case someone has the answer. My php code is:

$query="SELECT id,first_name,last_name FROM Player ORDER BY id";
$players=mysql_query($query);
$numPlayers=mysql_numrows($players);
for ($i=0, $i < $numPlayers; $i++)
{
     $label = mysql_result($players,$i,'id');
     echo "$label<br>"
}


Try with mysql_fetch_array



And that generates an order like it was doing a string comparison.
I'm just iterating over the rows in the result in order, so not sure
what would be applying another sort.


or it's likely that mysql_result retrieve an array of rows
(well-ordered), but fetch it by using  a string for the index.

This seems unlikely since the mysql_result takes a row number (int) to select which fetched row to get a cell from (zero based).

Using mysql_fetch_array woulnd't work since I need to select a certain row based on the order by, but not necessarily accessed in sequence as shown in the code above.

Steve Cochran

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to