daniel_sun
Erfahrenes Mitglied
Hallo PHPler,
ich habe einen Fragenbogen erstellt, der die Fragen und die dazugehörigen Antworten aus einer Datenbank ausliest und dann einen Fragebogen generiert.
Dieses Script liest die Datenbank aus und übergibt die Daten an ein Template:
Dies ist das Template, welches den Fragebogen anzeigt:
Mein Problem ist nun, das alle Fragen korrekt angezeigt werden aber unter allen Fragen die gleichen Antworten stehen(nämlich die der letzten Frage). Mir ist auch klar, dass es an der 2. While-schleife liegt. Ich habe nur leider keine Idee wie ichs richtig machen kann.
Ich hoffe ihr könnt mir helfen.
Gruß
Daniel_Sun
ich habe einen Fragenbogen erstellt, der die Fragen und die dazugehörigen Antworten aus einer Datenbank ausliest und dann einen Fragebogen generiert.
Dieses Script liest die Datenbank aus und übergibt die Daten an ein Template:
PHP:
$target = "index.php?action=runfb&kid=".$_GET['kid']."";
$sql = "SELECT * FROM frage WHERE frage_katalog = '".$_GET['kid']."' ORDER BY sort_id";
$result = mysql_query($sql);
$table_data = array();
while ($row = mysql_fetch_assoc($result))
{
array_push(
$table_data,
array(
'fid' => $row['frage_id'],
'frage' => $row['frage_text']
)
);
$sql2 = "SELECT * FROM antwort WHERE antwort_frage = '".$row['frage_id']."' ORDER BY antwort_sort_id";
$result2 = mysql_query($sql2);
$table_data2 = array();
while ($row2 = mysql_fetch_assoc($result2))
{
array_push(
$table_data2,
array(
'aid' => $row2['antwort_id'],
'aname' => $row2['antwort_text']
)
);
}
}
require_once 'tpl/fb.tpl';
exit();
Dies ist das Template, welches den Fragebogen anzeigt:
HTML:
html>
<head>
<title>Fragebogen</title>
<link rel="stylesheet" type="text/css" href="style/acp.css">
</head>
<body>
<table border="0" width="70%" align="center">
<tr>
<td class="table_comp_top" width="70%">Willkommen beim Fragebogen</td>
</tr>
<tr>
<td class="table_comp_middel" width="70%">
<center><b><br>Die folgenden Fragenkataloge können beantwortet werden:</b></center>
<p>
<table border="1" align="center">
<tr class="table_content_top">
<td><b>Frage</b></td><td><b>Deine Antwort</b></td><td><b>richtige Antwort</b></td>
</tr>
<?php foreach ($table_data as $td_row): ?>
<tr class="table_content_middel">
<td><?=$td_row['frage']?></td><td><?=$td_row['antwort']?></td><td><?=$td_row['antwort']?></td>
</tr>
<?php endforeach; ?>
<tr class="table_content_bottom">
<th colspan="4" align="center"> </th>
</tr>
</table>
</p>
<p>
<table border="1" align="center">
<tr class="table_content_top">
<th colspan="2"><b>Legende:</b></th>
</tr>
<tr class="table_content_middel">
<td><img src="img/stift.gif" alt="Stift" width="20" height="20"></td><td>Fragebogen beantworten</td>
</tr>
</table>
<br>
</p>
</td>
</tr>
<tr>
<td class="table_comp_bottom" width="70%" align="center">Poll-Managers V1.0</td>
</tr>
</table>
</body>
</html>
Mein Problem ist nun, das alle Fragen korrekt angezeigt werden aber unter allen Fragen die gleichen Antworten stehen(nämlich die der letzten Frage). Mir ist auch klar, dass es an der 2. While-schleife liegt. Ich habe nur leider keine Idee wie ichs richtig machen kann.
Ich hoffe ihr könnt mir helfen.
Gruß
Daniel_Sun