PHP随机MySQL数据(php random mysql data)

2019-08-01 04:16发布

我有一个表中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;

我不是阵列太热,但如果有人可以让我开始这将是巨大的,谢谢。

Answer 1:

所有这些告诉你使用兰特在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];

?>


Answer 2:

存储所有要在随机显示一个变量的值,使用RAND() http://php.net/manual/en/function.rand.php和随机播放() http://php.net/manual/ EN / function.shuffle.php使随机数据并显示出来



Answer 3:

有几种方法在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 " );


Answer 4:

SELECT * FROM `Users` ORDER BY RAND() LIMIT 0,1;


Answer 5:

使用ORDER BY RAND()随机选择的记录。



Answer 6:

它分成两个表,一个用户

用户:用户名| 姓名| 姓

句子:ID | 用户id | 句子

在“ID /用户标识符”加入既做一个ORDER BY RAND()可能后跟一个LIMIT 20



Answer 7:

想实现这一点,但考虑,而不是一个小随机数从(目前14),每列中的条目。 很想有马修·麦戈文的意见,因为他的代码,很适合我,但它仅叫了几个项目...

在这里: 随机句子使用PHP和MySQL



文章来源: php random mysql data
标签: php mysql random