我的問題是,在question.php我希望從我的數據庫中選擇5個隨機行(問題),然後根據需要回答這些問題與相關答案。然後,我希望在result.php中使用相同的5個隨機選擇,以便給出正確/不正確的答案反饋。我的問題是,如果我使用同一個rand查詢查詢數據庫,我會得到5個不同的隨機問題。查詢我在question.php是:從SQL數據庫中選擇隨機行並存儲在另一頁上重用
<?php
$query="SELECT * FROM (SELECT * FROM dspstuff ORDER BY rand() LIMIT 5) T1 ORDER BY id";
?>
我再回應與數據庫中的問題相關聯的相對4個選項:
<?php
while($row = mysql_fetch_assoc($result)) {
$options = array($row['option1'], $row['option2'], $row['option3'], $row['answer']);
shuffle($options);
echo '<p>';
echo $row['id'] . '. ';
echo $row['question'];
echo '</p>';
foreach($options as $option){?>
<p><input type="radio" name="ID<?php echo $row['id']; ?>" value="<?php echo $option; ?>"><?php echo $option; ?></p>
<?php }
echo '<br>';
}
?>
這一切都與其他地方保存數據庫連接信息工作正常。我需要知道要使用什麼查詢或可能利用會話變量來保存所選的隨機ID。說我說從數據庫中選擇行1,2,3,4,5我需要在results.php中使用這些行,我將如何去實現這一目標?
編輯: 如果$ _SESSION ['ID']是一個具有5個值的數組(ids),那麼用於檢索每個數組條目的select查詢會是什麼? 即。
$query="SELECT * FROM table WHERE id ='{$_SESSION['ID']}";
您應該在表單中創建一個或多個隱藏字段,將它們的值作爲隨機選定行的ID。然後檢索他們在result.php – gmc
@gmc這將允許用戶操縱答案。他可以將ID換成別的東西,並回答他已經知道答案的那些問題:https://en.wikipedia.org/wiki/Cross-site_request_forgery – Psi
這是對的。這些應該以某種方式存儲在數據庫 – gmc