Re: Display just 1 record in a query

From: 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:
dealtek@gmail.com wrote:
On Jan 12, 2010, at 1:57 PM, Ashley Sheridan wrote:
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 myTable2
Put your random logic into the query:
    SELECT
        something
    FROM
        somewhere
    WHERE
        condition
    ORDER BY
        RAND()
    LIMIT
        1
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/
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 PHP

« previous php.general (#301052) next »