/ / डेटाबेस PHP में दो तालिकाओं से यादृच्छिक रूप से चयनित कॉलम कैसे करें - php, mysql

डेटाबेस PHP में दो तालिकाओं से यादृच्छिक रूप से चयनित कॉलम कैसे करें - php, mysql

मैं पढ़ने के लिए toefl परीक्षण करना चाहते हैं। मेरे पास "id_reading" और "soal_reading" नाम की दो टेबल हैं। id_reading टेबल में id और टेक्स्ट होता है। soal_reading में id, question, option a b c d और उत्तर होते हैं। इसलिए मैं उस तालिका से डेटा प्रदर्शित करना चाहता हूं। लेकिन मैं आईडी कॉलम को छोड़कर soal_reading टेबल में बेतरतीब ढंग से सभी कॉलम प्रदर्शित करना चाहता हूं। मैं कोशिश करता हूं, लेकिन यह यादृच्छिक नहीं होगा। कृपया मदद कीजिए।

<?php
include "conection.php";

$query = mysql_query("
SELECT id_reading.id
, text
, id_reading.text
, soal_reading.pertanyaan
, a
, b
, c
, d
, jawaban
from id_reading
, soal_reading
where id_reading.id = soal_reading.id
");
if ($query) {
while ($row = mysql_fetch_array($query)) {
echo "
<tr>
<td>".$row["id"]."</td>
<td>".$row["text"]."</td>";
$q = mysql_query("SELECT * from soal_reading order by rand()");
if ($q) {
while ($r = mysql_fetch_array($query)) {
echo "
<td>".$r["pertanyaan"]."</td>
<td>".$r["a"]."</td>
<td>".$r["b"]."</td>
<td>".$r["c"]."</td>
<td>".$r["d"]."</td>
<td>".$r["jawaban"]."</td>
<td>
<a href="edit_reading.php?id=".$row["id"]."">Edit</a> |
<a href="hapus_reading.php?id=".$row["id"]."">Delete</a>
</td>
</tr>";
}
}
}
}
?>

उत्तर:

जवाब के लिए 0 № 1

आपकी क्वेरी एक यादृच्छिक तरह से सवालों में सेट नहीं बल्कि प्रश्न में क्षेत्रों। तो अगर आप उदाहरण के Q1, Q2, Q3 के लिए 3 प्रश्न हैं, तो वे एक यादृच्छिक तरह से क्षेत्रों का आदेश दिया जाता है, न।

मेरा सुझाव है कि आप अपने $r["a"] .... $r["d"] एक सरणी में और फिर से एक नंबर निकालें 0 to count($array) एक संभावित उत्तर पाने के लिए और उस तत्व को सरणी से हटा दें। ऐसा तब तक करें जब तक कि सभी संभावित उत्तर न निकाले जाएं। (count($array)==0).

सारांश में, आपकी क्वेरी आपको आपके प्रश्नों के लिए यादृच्छिक क्रम प्रदान करती है और PHP में आप अपने क्षेत्रों को एक यादृच्छिक क्रम देते हैं।

कुछ कोड के लिए, कृपया टिप्पणी करें। अलविदा