Közvélemény kutatás

 

Feladat: írjunk olyan weboldalt php segítségével, mely egy szavazás eredményeinek rögzítésére alkalmas. Lehessen például arra szavazni, hogy nagyvárosaink mennyire élhető városok. Véleményünket iskolai osztályzatokkal fejezhetjük ki. A legjobban élhetőnek gondolt városnak 5 pontot, a legkevésbé élhetőnek 1 pontot (esetleg 0 pontot – ha nem jelölünk be semmit) adhatunk. Az eredmények rögzítésére az adatbázisban egy varosok nevű táblát használjunk. A mezőnevek elég beszédesek: id, VNev, Adott, VPont. (ID, Város neve, a felhasználó által Adott pontok illetve a Város összes kapott Pontja.)

 

A lap a következőképpen jelentkezzen be:

 

 

 

            A szavazás a megfelelő radio button bejelölésével lehetséges. Ha nincs bejelölés, akkor az érintett városnak 0 pontot adunk. Adott pontjaink beállítása után megnyomhatjuk a Mehet feliratú nyomógombot, mely egy submit-ot vált ki. Az általunk adott pontokat és a pontverseny állását a visszakapott táblázatban tekinthetjük meg. Ebben a táblázatban a városokat már rangsorolva látjuk, elsőként a legélhetőbb várossal. Egyetlen szavazás után így néz ki oldalunk:

 

 

            A feladatot megvalósító php oldal teljes listája:

           

http://gorbem.hu/PH/Kutatas.php

 

 

<?php

            include("hconfig.php");

            $ered = mysql_query("SELECT * FROM varosok");

            $sorsz = mysql_num_rows($ered);

            $sorsz = $sorsz+0;

            if ( $sorsz == 0 ){

                  $varosok = array("Miskolc","Debrecen","Szolnok","Szeged","Pécs","Győr");

                  for ($i=0; $i<6; $i++){

                        $v = $varosok[$i];

                        mysql_query("INSERT INTO varosok SET VNev='$v'");

                  }

            }

?>

<html>

<head>

<title>Közvélemény kutatás - php</title>

</head>

<body>

<form name="" action="Kutatas.htm" method="POST">

<input type="submit" name="vissza" value="Vissza" />

<center>

<h2>Közvélemény kutatás (élhető város):</h2>

<?php

            $vname = array("miskolc","debrecen","szolnok","szeged","pecs","gyor");

?>

<form name="kutat" action="" method="POST">

<table border="1" cellpadding="3" cellspacing="0" bgcolor="#eeeeee">

<tr>

            <th>Város\minősítés</th>

            <?php

                  for ($i=1; $i<=5; $i++){print "<th>$i</th>";}

            ?>

</tr>

<?php

            $n = 0;

            $varosok = array();

            $ered = mysql_query("SELECT * FROM varosok");

            while ($sora = mysql_fetch_object($ered)){

                  $v = $sora->VNev;

                  array_push($varosok,$v);

                  print "<tr>";

                  print "<th>$v</th>";

                  for ($i=0; $i<5; $i++){

                        print "<td><input type=\"radio\" name=\"$vname[$n]\" value=\"$i\"/></td>";

                  }

                  print "</tr>";

                  $n++;

            }

?>

</table>

<br />

<input type="submit" name="mehet" value="Mehet" />

</form>

<?php

            if ( isset($_POST['mehet']) ){

                  for ($i=0; $i<$sorsz; $i++){

                        $w = $vname[$i];

                        if ( isset($_POST[$w]) ){$a = $_POST[$w]+1;} else{$a = 0;}

                        mysql_query("UPDATE varosok SET Adott=$a, VPont=VPont+$a WHERE VNev='$varosok[$i]'");

                  }

                  print "<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\" bgcolor=\"#dddddd\">\n";

                  print "<tr>";

                        print "<th>Város</th>";

                        print "<th>Adott pont</th>";

                        print "<th>Összesen</th>";

                        $eredmeny = mysql_query("SELECT * FROM varosok ORDER BY VPont DESC");

                        while ($egysor = mysql_fetch_object($eredmeny)){

                             print "<tr>";

                             print "<td><b>$egysor->VNev</b></td>";

                             print "<td align=\"center\">$egysor->Adott</td>";

                             print "<td align=\"center\">$egysor->VPont</td>";

                             print "</tr>";

                        }

                  print "</table>";

            }

?>

     

</center>

</body>

</html>