Re: Display just 1 record in a query
| From: | Robert Cummings | Date: | Wed, 13 Jan 2010 03:19:42 +0000 |
| Subject: | Re: Display just 1 record in a query | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301052@lists.php.net to get a copy of this message | ||
Jochem Maas wrote:
Op 1/13/10 12:43 AM, Robert Cummings schreef:I was already aware of the issues with RAND(). However, at the very top it says: "if your table have just 50-100 rows, use whatever you want." Without more information about the person's particular use case I would use the RAND() version for its simplicity :) Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHPdealtek@gmail.com wrote:please read the following to understand the consequences and possible performance problems with this approach: http://www.titov.net/2005/09/21/do-not-use-order-by-rand-or-how-to-get-random-rows-from-table/On Jan 12, 2010, at 1:57 PM, Ashley Sheridan wrote:Put your random logic into the query:Depends on how you're creating running the query. You could do something like: echo mysql_result($result, 1, 'fieldname'); Where $result is your result object and 1 is a 0 indexed array, so would be the second result.Thanks Ryan, Ashley & Kim for the good techniques... - in my case I was trying to pull a random record from a query of Table1 - then do a 2nd query from 1st so mysql_result worked fine for my needs like: ... do query 1... 'cur' - SELECT id FROM myTable1 $ran = rand(0, $totalRows_cur - 1); // pick random rec row within total count $pick1 = mysql_result($cur, $ran); // get the ID from the choice - (like id=252) ... do query 2 // where relatedID = $pick1 of myTable2SELECT something FROM somewhere WHERE condition ORDER BY RAND() LIMIT 1