我有一个表中6列的MySQL数据库。 这里最终将大约100行,现在我有3个。
列标题:名字,SecondName,SENTENCE1,SENTENCE2,Sentence3,Sentence4
所有表都设置为VARCHAR
我想用PHP网页上,从各行调用随机数据,例如,与ROW3 SecondName混搭ROW1名字和ROW2 SENTENCE1等。
我读了它的速度更快使用PHP来随机化,但我真的无法把握,尽管搜索如何做到这一点。
我可以连接到我的MySQL数据库并获取使用此代码返回的结果:
<?php
// Connect to database server
mysql_connect("localhost", "xxx", "yyy") or die (mysql_error ());
// Select database
mysql_select_db("zzz") or die(mysql_error());
// SQL query
$strSQL = "SELECT * FROM Users";
// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);
// Loop the recordset $rs
// Each row will be made into an array ($row) using mysql_fetch_array
while($row = mysql_fetch_array($rs)) {
// Write the value of the column FirstName (which is now in the array $row)
echo $row['FirstName'] . "<br />";
}
// Close the database connection
mysql_close();
?>
但这只是返回一列数据。 我需要的随机码在使用类似网页退货:
echo $firstname . $lastname . $sentence1 . $sentence2 . $sentence3 . $sentence4;
请注意,这将是重复另外3或4行之后过
echo $firstname_2 . $lastname_2 . $sentence1_2 . $sentence2_2 . $sentence3_2 . $sentence4_2;
我不是阵列太热,但如果有人可以让我开始这将是巨大的,谢谢。
所有这些告诉你使用兰特在SQL查询没有看过这个问题。 那些人:提问者想从行,而不是一个随机行数据的随机组合。
事情是这样的。 它将采取一切从数据库中结果和回声完全随机的组合。 因为他们是超级有用我无法避免使用数组。
<?php
// Connect to database server
mysql_connect("localhost", "xxx", "yyy") or die (mysql_error ());
// Select database
mysql_select_db("zzz") or die(mysql_error());
// SQL query
$strSQL = "SELECT * FROM Users";
// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);
// Array to hold all data
$rows = array();
// Loop the recordset $rs
// Each row will be made into an array ($row) using mysql_fetch_array
while($row = mysql_fetch_array($rs)) {
// add row to array.
$rows[] = $row;
}
// Close the database connection
mysql_close();
// Max rand number
$max = count($rows) - 1;
// print out random combination of data.
echo $rows[rand(0, $max)][0] . " " . $rows[rand(0, $max)][1] . " " . $rows[rand(0, $max)][2] . " " . $rows[rand(0, $max)][3] . " " . $rows[rand(0, $max)][4] . " " . $rows[rand(0, $max)][5];
?>
存储所有要在随机显示一个变量的值,使用RAND() http://php.net/manual/en/function.rand.php和随机播放() http://php.net/manual/ EN / function.shuffle.php使随机数据并显示出来
有几种方法在PHP从数据库获取随机数据
SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;
另一种方法: -
$range_result = mysql_query( " SELECT MAX(`id`) AS max_id , MIN(`id`) AS min_id FROM `table` ");
$range_row = mysql_fetch_object( $range_result );
$random = mt_rand( $range_row->min_id , $range_row->max_id );
$result = mysql_query( " SELECT * FROM `table` WHERE `id` >= $random LIMIT 0,1 ");
多了一个方法: -
$offset_result = mysql_query( " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `table` ");
$offset_row = mysql_fetch_object( $offset_result );
$offset = $offset_row->offset;
$result = mysql_query( " SELECT * FROM `table` LIMIT $offset, 1 " );
SELECT * FROM `Users` ORDER BY RAND() LIMIT 0,1;
使用ORDER BY RAND()
随机选择的记录。
它分成两个表,一个用户
用户:用户名| 姓名| 姓
句子:ID | 用户id | 句子
在“ID /用户标识符”加入既做一个ORDER BY RAND()可能后跟一个LIMIT 20
想实现这一点,但考虑,而不是一个小随机数从(目前14),每列中的条目。 很想有马修·麦戈文的意见,因为他的代码,很适合我,但它仅叫了几个项目...
在这里: 随机句子使用PHP和MySQL