Oke, voor informatica moet ik dus een poll maken door PHPMyAdmin te combineren met MySQL. Echt heel handig, want het boek legt niet uit wat je moet doen en mijn docent kan me ook niet verder helpen.
Het enige wat het boek zegt, is dat je twee tabellen aan moet maken: 1 tabel met daarin de vraag/stelling en een tabel met daarin de opties. Dit heb ik gedaan.

Om te zorgen dat er altijd verbinding gemaakt wordt met de database, gebruik ik
include("databaseconnectie.php");

In dat bestand staat het volgende:

<?php
	mysql_connect("localhost", "root", "usbw");
        mysql_select_db("poll");
?>


Vervolgens heb ik een formulier gemaakt om te stemmen

                <?php
		                include("databaseconnectie.php");
		
	                	$result = mysql_query("SELECT vraag FROM poll;");
		
	                	while($data = mysql_fetch_assoc($result))
		                	{
				                echo "<h1>" . $data["vraag"] . "</h1>";
		                	}
			
		                $result2 = mysql_query("SELECT * FROM optie;");
		
		                	if($data2 = mysql_fetch_assoc($result2))
				                {
					                $optie = $data2["optie"];	
				
			                			?>
					                		<form method="post" action="verwerk.php">
						                	<input type="radio" name="optie" value="1"> N&T <br>
							                <input type="radio" name="optie" value="2"> N&G <br>
							                <input type="radio" name="optie" value="3"> C&M <br>
							                <input type="radio" name="optie" value="4"> E&M <br><br>
							                <input type="submit" value="stemmen :)">
						                <?php
				                }
	                ?>


(Oh ja, als vraag voor de poll heb ik gebruikt 'Welk profiel heb je?' De opties: 1) N&T   2) N&G  3) C&M   4) E&M )



Het formulier gebruikt het volgende script als actie:
  
    <?php
		include("databaseconnectie.php");
		
		$optie = $_POST["optie"];
		
		if ($optie == 1)
			{
				$stemmen = mysql_query("SELECT stemmen FROM optie WHERE id = 1;");
				$aantalstemmen = mysql_fetch_assoc($stemmen);
				$nieuwaantal = $aantalstemmen;
				
				$verwerk = "UPDATE optie SET stemmen = $nieuwaantal WHERE id = 1;";
				
				if(mysql_query($verwerk))
					{
						echo "Uw stem is toegevoegd!";
					}
				
				else
					{
						echo "ERROR";
					}
			}
			
		if ($optie == 2)
			{
				$stemmen = mysql_query("SELECT stemmen FROM optie WHERE id = 2;");
				$aantalstemmen = mysql_fetch_assoc($stemmen);
				$nieuwaantal = $aantalstemmen;
				
				$verwerk = "UPDATE optie SET stemmen = $nieuwaantal WHERE id = 2;";
				
				if(mysql_query($verwerk))
					{
						echo "Uw stem is toegevoegd!";
					}
				
				else
					{
						echo "ERROR";
					}
			}
			
		if ($optie == 3)
			{
				$stemmen = mysql_query("SELECT stemmen FROM optie WHERE id = 3;");
				$aantalstemmen = mysql_fetch_assoc($stemmen);
				$nieuwaantal = $aantalstemmen;
				
				$verwerk = "UPDATE optie SET stemmen = $nieuwaantal WHERE id = 3;";
				
				if(mysql_query($verwerk))
					{
						echo "Uw stem is toegevoegd!";
					}
				
				else
					{
						echo "ERROR";
					}
			}
		
		if ($optie == 4)
			{
				$stemmen = mysql_query("SELECT stemmen FROM optie WHERE id = 4;");
				$aantalstemmen = mysql_fetch_assoc($stemmen);
				$nieuwaantal = $aantalstemmen;
				
				$verwerk = "UPDATE optie SET stemmen = $nieuwaantal WHERE id = 4;";
				
				if(mysql_query($verwerk))
					{
						echo "Uw stem is toegevoegd!";
					}
				
				else
					{
						echo "ERROR";
					}
			}
		
		else
					{
						echo "ERROR";
					}
	?>


Michael - op 09/04/2014 10:24:58

>>> Hoe kun je er voor zorgen dat je niet zelf 'N&T' enzo erbij hoeft te zetten, maar dat hij dat ook uit de tabel kan lezen...???

Daar een extra tabel te maken waarin je antwoorden staan.

Tabel vragen
    id (int a_i) -----|
    vraag (varchar)   |
                      |
Tabel antwoorden      |
    id (int a_i)      |
    vragen_id (int) --|
    antwoord (varchar)
    stemmen (int)


En met een JOIN zorg je dat de antwoorden bij de goede vraag komen d.m.v. id-vragen_id

Ik hoop niet dat je werkelijk een informatica opleiding doet. Een leraar die zelf niet weet wat voor opdracht die geeft en jou met verouderde functies als mysql_* laat werken is geen succes.


Ik heb ook 2 tabellen, maar als ik d.m.v. het id de antwoorden erbij wil zetten, krijg ik alleen maar foutmeldingen (dat de query niet goed is, of dat het id onbekend is).

En het is niet een informatica opleiding, het is gewoon informatica op de middelbare school ;)
Maar het is inderdaad niet handig dat de docent in de meeste gevallen vrijwel niet kan helpen...

Toevoeging op 09/04/2014 20:25:52:

>>>> En met een JOIN zorg je dat de antwoorden bij de goede vraag komen d.m.v. id-vragen_id


JOIN?? Dat zegt me dus helemaal niets :$

Reageren