Gunmuse,

SELECT from firebase_content LAST_INSERT_ID()

In that cmd, 'from ...' ain't right.

I didn't understand either what's wrong with ORDER BY RAND() LIMIT 1.

Also check the Perl manual for how to retrieve a single value.

PB

-----

[EMAIL PROTECTED] wrote:

Thanks for that I implemented to my Random code.  Same problem that select *
portion is just a nightmare.  Remember I selecting 38mb of data when I do
that.

What I want to do is jump to a Valid random row.  Now If I didn't delete
content often that would be easy grab the last autoincremented row_id and
get a random number between 1 and End  Jump to that row to create the link.
Very fast. Zero load

So what I am trying is this.

$last_row ="SELECT from firebase_content LAST_INSERT_ID()";
$last_row_query = $dbi->query($last_row);
$last_row_result = $row->id;

But what I am seeing is this:

Object id #9

and not the number that is in the database.

What am I sending to this variable that is wrong?



[snip]
I am wanting to display a random page from my site, But I have over
12,000 articles right now and we add over 150 per day.  What I wound up
doing was a Virtual DOS attack on my own server because the 40 mb db was
being loaded to many times.

I have tons of memory and a Dell Dual Xeon 2.8 gig.

Can someone think up a better way of doing this?  I wish Mysql would
just bring me back 1 valid random row  It could be used in so many ways
it should just be a part of MySql anyway.

<?php
ini_set("display_errors", '1');
header("Pragma: private");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Cache-Control: no-cache, must-revalidate");
require_once("firebase.conf.php");
$dbi = new DBI(DB_URL);
$stmt = "Select * from firebase_content ORDER BY RAND(NOW()) LIMIT 1";
$result = $dbi->query($stmt);
while($row = $result->fetchRow())
{
$title = $row->title;
$cate = $row->category;
$get = "Select cat_url from firebase_categories where
cat_name='$cate'";
$now = $dbi->query($get);
$rows = $now->fetchRow();
$url = $rows->cat_url;
$link = $url . $title;
}
header("Location: http://www.prnewsnow.com/$link";);
exit;
/* Sudo code that I am trying to create to relieve server stress.
function randomRow(table, column) {
var maxRow = query("SELECT MAX($column) AS maxID FROM $table");
var randomID;
var randomRow;
do {
randomID = randRange(1, maxRow.maxID);
randomRow = query("SELECT * FROM $table WHERE $column = $randomID");
} while (randomRow.recordCount == 0); return randomRow;
}
*/
?>
[/snip]

Try this ...
SELECT * FROM foo ORDER BY RAND(NOW()) LIMIT 1;

12000 rows is not huge at all, so this should be pretty quick

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








--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.10.2 - Release Date: 4/21/2005


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



Reply via email to