On Mon, February 19, 2007 2:32 pm, Bruce Cowin wrote:
>>>> Mike Shanley <[EMAIL PROTECTED]> 20/02/2007 9:23:08 a.m.
>>>> >>>
> I'd like to think I understood code a little better than this, but
> I've
> got a problem with my WHERE...
>
> I know it's the WHERE because I get a good result when I leave it out.
> And the random function is also working... I honestly can't figure it
> out. Thanks in advance for help with this laughable prob.
> ---------------------------
> // How many are there?
>
> $result = mysql_query("SELECT count(*) FROM fortunes");
> $max = mysql_result($result, 0);
>
> // Get randomized!... the moderated way...
>
> $randi = mt_rand(1, $max-1);
> $q = "SELECT text FROM fortunes WHERE index = '$randi'";
> $choose = mysql_query($q);
> $chosen1 = mysql_fetch_array($choose);Are you certain that your 'index' field runs from 1 to $max-1 and you will never DELETE a fortune leaving a hole in your 'index' values?... Unless you really really really need the quality of the Merseinne Twister random generator, you could just do: SELECT text FROM fortunes ORDER BY rand() LIMIT 1 (Or is it random() in MySQL? I always confuse mysql/pg random function name...) Also, 'text' is a field type in SQL, so you may need: SELECT `text` to make it not be reserved word. Ditto for index -> `index` perhaps. > // Ready to ship... > > $fortune = '<span class="quotecyc">"' . $chosen1[0] . > '"<br/>-Omniversalism.com</span>'; > > mysql_close(); As a matter of Code Style, you MAY want to consider doing: $chosen = mysql_result($choose, 0, 0); instead of creating a 1-element array and then accessing element 0 of that array. Some developers prefer to always do their PHP/mysql "the same" Others prefer to make it clear when they are getting a singleton database result, by using a different pattern of code. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

