Jump to content
Forum Roportal
Jockeru

Tutorial php:cum sa faci un sistem de votare...

Rate this topic

Recommended Posts

1.Se intra in phpmyadmin...creem o baza de date....luam la intamplare...sa zicem votare si facem un tabel numit intrebare cu 2 campuri(id,inrebare). iar al 2 lea tabel ii dam numele optiuni care va avea 3 coloane...(id,optiune,voturi)la campul voturi il punem de typul BIGINT.

Dupa ce am creeat cele 2 tabele intram in tabelul optiuni dam click pe INSERARE(bara de sus) si introducem de 2 ori in optiune valorile da si nu,iar dupaceia tot aceasi actiune facem si la intrebare...dar acolo scriem intrebare...

 

2:Trebuie sa creeati un fisier config.php care il vom pune in radacina serverului vostru php(www) si scriem urmatorul cod:

<?php
$host = 'localhost';
$user = 'root';
$pass = 'parola_dumneavoastra';
$base = 'votare';
$conexiune= mysql_connect($host,$user,$pass)
or die ('Nu ma pot conecta la mysql');
mysql_select_db($base,$conexiune)
or die ('Nu gasesc baza de date '.$base.' ');
?>

acest cod este configurarea care ne permite sa ne connectam la mysql.

 

3:Creati un fisier index.php si copiati codul de mai jos:

<?php
require_once('config.php');

$sql = 'SELECT * FROM intrebare';
$rezultat = mysql_query($sql);
while($rand=mysql_fetch_array($rezultat)) {
echo '<table>
      <form method="POST" action="voteaza.php">
       Intrebare pentru tine:
       <tr><td><p>'.$rand['intrebare'].'</p></td></tr>';
}   

$sql = 'SELECT * FROM optiuni';
$rezultat = mysql_query($sql);
while($rand=mysql_fetch_array($rezultat)) {
echo '<tr><td><input type="radio" name="optiune" value="'.$rand['id'].'&'.$rand['voturi'].'">'.$rand['optiune'].'</td></tr>';
}
echo '<tr><td><input type="submit" name="Voteaza" value="Voteaza"></td></tr>
     <tr><td><a href="rezultate.php">Rezultate</a></td></tr>
    </form>
   </table>';
?>

vedem ca acest cod selecteaza anumite date din baza noastra de date...in cazul nostru intrebare si optiunile pe care le-am introdus manual(da si nu).

 

4:Creati un fisier voteaza.php si copiati codul de mai jos:

<?php
require_once('config.php');

if(!isset($_POST['Voteaza'], $_POST['optiune'])){ 
echo 'Pentru a vota trebuie sa alegi o optiune.<br /><a href="index.php">Back</a>';
}else{
$informatii = explode('&', $_POST['optiune']);
$id = $informatii[0];
$voturi = $informatii[1];
$sql = "UPDATE optiuni SET voturi=(".$voturi."+1) WHERE id=".$id." ";
mysql_query($sql);
echo 'Ai votat cu succes...<br /><a href="rezultate.php">Rezultate</a>';
}
?>

observam ca acest cod nu introduce date in baza noastra de date...ci le modifica....pentru ca am folosit sintaxa UPDATE.

 

5:Creeati un fisier rezultate.php si copiati codul de mai jos:

<?php
require_once('config.php');

$sql = 'SELECT * FROM intrebare';
$rezultat = mysql_query($sql);
while($rand=mysql_fetch_array($rezultat)) {
echo '<table>
      <tr><td><p>'.$rand['intrebare'].'</p></td></tr>';
}

$sql = 'SELECT * FROM optiuni';
$rezultat = mysql_query($sql);
$totale = mysql_result(mysql_query('SELECT SUM(voturi) FROM `optiuni`'),0);		
while($rand = mysql_fetch_array($rezultat)) {
$procent = ($rand['voturi']*100)/$totale;
if($procent <= 1) $procent = 0;

echo '<tr><td>'.$rand['optiune'].'</td><td>'.$rand['voturi'].' Voturi:</td><td><img src="images/linie.gif" width="'.$procent.'" height="9"></td></tr>';
}
echo '<a href="index.php">HOME</a>';
?>

iar acest cod...ne arata rezultatele folosind sintaxa SELECT.

 

PS:acele coduri eu va sugerez sa le studiati unpic...veti vedea ca nu este greu deloc....

Share this post


Link to post
Share on other sites

E foarte bun tutorialul. Multumesc foarte mult! Am incercat sa adaug mai multe intrebari care mi le afiseaza bine, dar cand am incercat sa schimb codul sa-mi apara optiunile ,,Da", ,,Nu" in dreptul fiecarei intrebari, imi da eroare. V-as fi tare recunoscatoare daca m-ati putea ajuta sa rezolv aceasta problema. Va multumesc anticipat!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×