enquete

Status
Niet open voor verdere reacties.

bertkamphuis

Gebruiker
Lid geworden
17 apr 2009
Berichten
14
Hallo,

Voor een schoolopdracht moeten wij een geautomatiseerde enquete in php maken. Ik heb wat zitten knutselen, aan het script zit tot nu toe dus nogal wat haken en ogen.
Het probleem is nu dat als ik het script uitvoer, de gegevens steeds in een andere rij in mysql wordt gezet, op deze manier:

id vraag1 vraag2 vraag3
3 misschien
2 goed
1 ja

Het is dus de bedoeling dat alle antwoorden bij hetzelfde id komen te staan.
Dit is de code:
Code:
<?php

$host = "";
$db = "";
$user = "";
$pass = "";
// gegevens database

$link = mysql_connect($host, $user, $pass);
mysql_select_db($db) or die (mysql_error()); 
// verbinding maken met database

if(isset($_GET['id']) && is_numeric($_GET['id']))
{
   	$id=$_GET['id']; //id uit de link halen
}
else
{
    	$id=1; // als er geen id in de link staat, is deze 1
}

if ($_POST['verzenden'] =='verzenden') { 
$waarde = $_POST['vraag'];
$vraagnummer = $_POST['vraagnummer'];
$vraagnummer--;
$query="INSERT INTO antwoorden (vraag$vraagnummer)
VALUES('$waarde')";
$resultaat = mysql_query($query);
}

$aantal_vragen = mysql_num_rows(mysql_query("SELECT id FROM vragen"));  

$result = mysql_query("SELECT * FROM vragen WHERE id='".$id."'"); // gegevens uit database selecteren

if(isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] >= ($aantal_vragen + 1))
{
    header("Location: outro.php");
}
else 
{
while($row = mysql_fetch_array($result)) //resultaten van database verwerken in een rij
  {
  $vraag = $row['vraag'];
  $antwoord1 = $row['antwoorda'];
  $antwoord2 = $row['antwoordb'];// variabelen waarde toekennen
  
$id++; //id met 1 verhogen
  
echo '
<form action="toevoegentest.php?id='.$id.'" method="POST"> ';
echo $vraag;
echo '<br><input type=radio name="vraag" value="'.$antwoord1.'"> '.$antwoord1.' 
<br><input type=radio name="vraag" value="'.$antwoord2.'"> '.$antwoord2.'
<input type="hidden" name="vraagnummer" value="'.$id.'"> 
<br><input type="submit" name="verzenden" value="verzenden">
</form>
';
}
}

?>

ik hoop dat iemand mij een beetje verder kan helpen.

groeten
 
Hier ben je al een hoop met verder
PHP:
<?php
$host = "";
$db = "";
$user = "";
$pass = "";
// gegevens database
session_start();
$link = mysql_connect($host, $user, $pass);
mysql_select_db($db) or die (mysql_error()); // verbinding maken met database

if(isset($_GET['id']) && is_numeric($_GET['id'])){
   	$id=$_GET['id']; //id uit de link halen
}else{
    $id=1; // als er geen id in de link staat, is deze 1
}
if ($_POST['verzenden'] =='verzenden') { 
	$waarde = $_POST['vraag'];
	$vraagnummer = $_POST['vraagnummer'];//!!!zetten in een session!!!
	
	$_SESSION['vraaginfo'+$vraagnummer]= "Hier sla je je data op van uw".$_SERVER["REMOTE_ADDR"];
	$_SESSION['vraagnr'+$vraagnummer]= $vraagnummer;
	$_SESSION['vraagantwoord'+$vraagnummer]= "mijn antwoord";
	
	$vraagnummer--;
	$query="INSERT INTO antwoorden (vraag$vraagnummer)
	VALUES('$waarde')";
	$resultaat = mysql_query($query);
}
$aantal_vragen = mysql_num_rows(mysql_query("SELECT id FROM vragen"));  
$result = mysql_query("SELECT * FROM vragen WHERE id='".$id."'"); // gegevens uit database selecteren
if(isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] >= ($aantal_vragen + 1)){
    header("Location: outro.php");
}else {
	while($row = mysql_fetch_array($result)){ //resultaten van database verwerken in een rij	
	  	$vraag = $row['vraag'];
	  	$antwoord1 = $row['antwoorda'];
	 	$antwoord2 = $row['antwoordb'];// variabelen waarde toekennen
		$id++; //id met 1 verhogen
		
		?>
			<form action="toevoegentest.php?id=<?print $id; ?>" method="POST">;
			<?print $vraag; ?>
			<br />
			<input type=radio name="vraag" value="<?print $antwoord1; ?>" /><?print $antwoord1; ?> 
			<br /><input type=radio name="vraag" value="<?print $antwoord2; ?>" /> <?print $antwoord2; ?>
			<br />
			<input type="submit" name="verzenden" value="verzenden" />
			</form>
		<?
	}
}
print "<H1>INFO</H1>"
print"<pre>session";
print_r($_SESSION);
print"</pre>";
print"<pre>verstuurd via POST";
print_r($_POST);
print"</pre>";
print"<pre>verstuurd via GET";
print_r($_GET);
print"</pre>";
?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan