Can't believe I wrote Linus instead of Linux. Anyway, you are correct the
application is working under windows.
----- Original Message -----
From: "David Krings" <[EMAIL PROTECTED]>
To: "NYPHP Talk" <talk@lists.nyphp.org>
Sent: Monday, March 03, 2008 6:13 PM
Subject: Re: [nyphp-talk] PHP/MySQL environment problem??
PaulCheung wrote:
I looked over the code and a few things struck me odd (which doesn't mean
they are wrong!).
//
You add this between each handful of lines without adding any informative
comment. I'd remove those slashes and make the code easier to read - or
even better add commentary.
@ $cps; //Current Page Starting row number
@ $lps; //Last Page Starting row number
@ $rpp; //Records Per Page
I have no idea what the significance of these lines is. The @ is usually
used to suppress error message output (IMHO a bad idea), but the statement
(or lack thereof) doesn't do anything.
$q="SELECT SQL_CALC_FOUND_ROWS *
FROM tr_test_record
WHERE $access = tr_access";
//
$rs=mysql_query($q) or die(mysql_error());
//
$q0="Select FOUND_ROWS()";
When you run the query in the MySQL query editor, how many rows does MySQL
return?
I always burn extra cycles and read the query results in a loop and
increase a counter. All the MySQL functions that return a count do that
for the last query run under the current connection, which may or may not
be the last query that your code ran.
I am not that familiar with all the SQL keywords, but it strikes me that
SQL_CALC_FOUND_ROWS returns already the count that you are looking for,
which is one result row. So counting that result later on will always be
1.
I rather have some of the SQL epxerts chime in here as I quickly move into
an area that I have no clue about.
//
$rs0=mysql_query($q0) or die(mysql_error());
//
$row0=mysql_fetch_array($rs0);
//
$nr0 = $row0["FOUND_ROWS()"]; //Number of rows found without LIMIT in
action
?>
As mentioned above, I run a plain simple select query and increase a
counter while looping through the results returned. May not be as elegant
and efficient, but works reliably. I just don't gtee away from thinking
that SELECT SQL_CALC_FOUND_ROWS * FROM tr_test_record WHERE $access =
tr_access doesn't return what you expect it should (as far as I understand
it thsi already counts the rows that would be returned when running the
query without SQL_CALC_FOUND_ROWS). Plug that into the query browser and
see what happens. My uneducated guss is that you basically count how many
row counts (not rows!!!) there were in the last query, which should always
be 1. But then again, you say it works on Windoze....
David
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php