从mySQL中提取随机数据

时间:2016-05-09 20:17:32

标签: mysql

我试图从我的一个表中提取一个随机问题并将其显示在HTML中。关键是让用户在表单中输入他们的信息,回答出现的随机问题,并提交将存储用户信息的表单以及他们被问到的问题和他们的答案。我似乎无法将问题显示在我的HTML中,而且我不确定如何解决这个问题。 mySQL还是新手。

代码:

<?php

define('DB_NAME', 'db');
define('DB_USER', 'admin');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db('db', $link);

$db_selected = mysql_query("SELECT Question FROM QuestionDB ORDER BY RAND() LIMIT 1");

if (!$db_selected) {
    die('Cant use ' . DB_NAME . ': ' . mysql_error());
}

  if(isSet($_POST['submit'])) {

     $fname = $row['f_name'];
     $lname = $row['l_name'];
     $email = $row['email'];
     $question = $row['question'];
     $answer = $row['answer'];

$sql = "INSERT INTO StudentDB VALUE ( NULL,'$fname','$lname','$email','$question','$answer')";

if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
}

echo 'Thank you, your information has been sent';
}
else{
echo'

<!DOCTYPE HTML>
<html lang="en">

<head>

</head>

<body>


<form id = "myForm" method="POST">

<div class="col-sm-6" >
<h5><b>First Name: </b><br/><input type="text" name="f_name" size="70"  required></h5>  <br/>
<h5><b> Last Name: </b><br/><input type="text" name="l_name" size="70"  required></h5>  <br/>
</div>
<div class="col-sm-6" >
<h5><b>Email: </b><br/><input type="text" name="email" required></h5><br/>
</div>

<div class="col-sm-12" >
<br/><br/> Question:   ' .$row["Question"]. '
</div>


<div class="col-sm-12" >
<br/><br/>
<h3><b>Answer:</b></h3>
    <textarea maxlength="500" name="comment" id="comment"></textarea><br/>
    </div>

<div class="col-sm-6" >
<input type="submit" name="submit" value="Submit">
</div>
</form>

</body>
</html>';
}
?>

1 个答案:

答案 0 :(得分:1)

在旁注上运行ORDER BY RAND()并不是一个好主意。它可以生成随机结果,但会增加很多开销,转化为长加载时间。如果您开始超过100条记录,您可以看到这确实减慢了MySQL查询速度并导致服务器长时间等待第一个字节的等待时间。见这里:enter image description here