mein Projekt Stapel in dieser Ausgabe unten holen Sie Mitglied,SQL Inner jedes Mal unterschiedliche Ergebnisse
ich habe 2 Tabellen quiziz (durch Lehrer gefüllt) haben 10 cols
id, dept, Betreff Frage , ANS1, ans2, ans3, ans4, correct_ans, techername
und Studenten haben 7 cols
id, Benutzername, Passwort, Benutzertyp, dept, Thema, Antworten
, wenn der Benutzer in (erfolgreich) in dborad.php angemeldet er Links sehen wird jeder Link, ihn zu verschiedenen Quiz in quiz.php nehmen Seite (mit Get-Methode, um Thema und Abteilung für Student) zu bekommen, in dieser quiz.php Seite wird er sein Quiz mit 4 Antworten sehen, mein Problem ist die innere Verbindung funktioniert nicht, es soll Quiz für spezifische holen Thema, dass er aus dborad.php mit einigen Fragen wählen, die sich von anderen Studenten unterscheidet, aber es ist nicht
dboard.php
if (isset($_SESSION['username'])) {
if ($_SESSION['usertype'] === "isstudent") {
$SQLgetParea = "SELECT * From students WHERE username = '$_SESSION[username]' ";
$SQLgetPareaResult = mysqli_query($conn,$SQLgetParea);
$SQLgetPareaRow = mysqli_fetch_array($SQLgetPareaResult,MYSQLI_NUM);
$getDept = $SQLgetPareaRow[4];
$sql2 = "SELECT students.*, quiziz.*
FROM students
INNER JOIN quiziz
ON students.dept=quiziz.dept
AND students.subject = quiziz.subject
WHERE students.dept = '".$getDept."'
";
$result2 = mysqli_query($conn,$sql2);
while ($row2 = mysqli_fetch_array($result2,MYSQLI_NUM)) {
echo "
<a href='quiz.php?subject=".$row2[5]."?dept=".$row2[4]."'>Enter Exam for ".$row2[5]."</a>
<br><br>";
}
}
}
quiz.php
if(isset($_SESSION['username'])){
if ($_SESSION['usertype'] === "isstudent") {
$conn->query("SET NAMES utf8");
$conn->query("SET CHARACTER SET utf8");
$SQLgetParea = "SELECT * From students ";
$SQLgetPareaResult = mysqli_query($conn,$SQLgetParea);
$SQLgetPareaRow = mysqli_fetch_array($SQLgetPareaResult,MYSQLI_ASSOC);
$getSub = $SQLgetPareaRow['subject'];
$sql2 = "SELECT quiziz.*, students.*
FROM quiziz
INNER JOIN students
ON quiziz.dept=students.dept
AND quiziz.subject = '".$getSub."' ";
$result2 = mysqli_query($conn,$sql2);
while ($row2 = mysqli_fetch_array($result2,MYSQLI_ASSOC)) {
echo "
<li>".$row2['question']."</li>
<li><div class='ruler'></div></li>
<li>".$row2['ans1']."</li>
<li>".$row2['ans2']."</li>
<li>".$row2['ans3']."</li>
<li>".$row2['ans4']."</li>
";
}
}
}
Haben Sie überprüft, dass Ihr $ getSub nicht leer ist? Bitte geben Sie die auszuführende SQL und die Tabellenzeilen Ihrer Tabelle an. – k3rn3llp4n1c
lieber @ k3rn3llp4n1c war ich einige Fehler haben und seine feste ok ich diese Zeile Code ersetzen 'Enter Exam for ".$row2[5]."
„'mit dieser Linie' Enter Exam for ".$row2[5]."
' –
aber noch verschiedene Fragen für jeden Benutzer holen müssen, eine Idee? –