Hallo,
Ik heb een database gemaakt met een aantal vragen. De velden heten vraag1, vraag2, vraag3 etc.
Volgens mij is de opzet van de database niet goed, want voor iedere vraag moet ik opnieuw een mysql query uitvoeren. Dat moet simpeler kunnen.
Kan iemand mij advies geven hoe het beter kan?
O ja, je kan het zien op http://stef.no-ip.org/test/test.php
<html>
<head></head>
<body>
<?php
echo "tekst om te laten zien dat de php code goed gaat<br>";
// de tabel vragen bevat vraag1, vraag2, vraag3 etc tm vraag40
// met een radiobutton kunnen de antwoorden
// 1 - helemaal oneens
// 2 - oneens
// 3 - geen mening
// 4 - eens
// 5 - helemaal eens
// 0 - geen antwoord aangeklikt
// gegeven worden
$db = mysql_connect ("localhost","root");
if (!$db){
echo "<br>no connection to database";
}
if (! @mysql_select_db("enquete",$db)){
die('<p>kan de enquete database niet vinden</p>');
}else{
//echo "<p> verbonden met enquete database</p>";
}
$sql = "select vraag1,count(*) from vragen group by vraag1";
if (!$result=mysql_query($sql,$db)) {
echo "<center><h4>query mislukt</center></h4>/n";
}
// dit is het resultaat op de mysql command line
//+--------+----------+
//| vraag1 | count(*) |
//+--------+----------+
//| 0 | 1 | 1 maal niet beantwoord
//| 4 | 4 | 4 maal antwoord 'eens'
//+--------+----------+
// als resultaat wil ik graag kolommen met een percentage
// helemaal oneens oneens geen mening eens helemaal eens geen antwoord
// 80% 20%
if ($myrow = mysql_fetch_row($result)) {
$resultaatid = $myrow["id"];
//echo '<div id="table3">';
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
do {
$resultaatid = $myrow[id];
printf("<tr><td>%s</td><td>%s</td></tr></a><br>\n", $myrow[0], $myrow[1] );
} while ($myrow = mysql_fetch_array($result));
echo '</table>';
}else{
die('mysql_fetch_array mislukt');
}
echo "tekst om te laten zien dat er in ieder geval iets gebeurt";
// je kan het gemiddelde antwoord uit mysql halen met
//mysql> select (avg(vraag1)-1)*25 from vragen where vraag1>0;
//+--------------------+
//| (avg(vraag1)-1)*25 |
//+--------------------+
//| 75.0000 |
//+--------------------+
$sql = "select (avg(vraag1)-1)*25 from vragen where vraag1>0";
$result = mysql_query($sql);
$myrow = mysql_fetch_row($result);
echo $myrow[1].'<br><br>';
do {
$resultaatid = $myrow[id];
printf("<tr><td>%s</td><td>%s</td></tr></a><br>\n", $myrow[0], $myrow[1] );
} while ($myrow = mysql_fetch_array($result));
?>
</body>
</html>
1.483 views