تبليغاتX
citycenter
citycenter

بخش آنتی ویروس کاسپر kaspersky anti virus
license key for kaspersky
دانلود جدیدترین کلیدهای kaspersky 7 ,kaspersky 8
دریافت فایل cer در کمترین زمان و بخش هک موبایل
بهترین راه برای دریافت فایل cer
cer & key
هک گوشی
هک گوشی s60 3rd
  نوشته های پیشین  
آبان 1388
شهریور 1388
خرداد 1388
اردیبهشت 1388
فروردین 1388
مرداد 1387
خرداد 1387
مرداد 1386
تیر 1385
خرداد 1385
فروردین 1385
بهمن 1384
مهر 1384
  آرشیو موضوعی  
جك
php
آموزش
عکس از ایران عزیزمان
هک
مدارات الکترونیکی
دانلود
kaspersky anti virus
موبایل
   
صفحه نخست
پروفایل مدیر وبلاگ
پست الکترونیک
آرشیو وبلاگ
عناوین مطالب وبلاگ

سلام به همه دوستان عزيز Very Happy
در اين مقاله مي خواهم يك اسكريپت php رو بهتون نشون بدم كه باهاش مي شه يه قسمت راي گيري براي سايتمون درست كنيم (مثل همون چيزي كه توي صفحه اول همين جا هست.)

براي اين كار ما فقط از يك جدول استفاده مي كنيم ،
جدول را مطابق اين دستورات مي سازيم :
كد:
CREATE TABLE `poll` (
  `id` int(11) NOT NULL auto_increment,
  `topic` text NOT NULL,
  `type` char(1) NOT NULL default '',
  `count` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM COMMENT='My Web Poll' AUTO_INCREMENT=14 ;
   


خوب حالا يه توضيح كوچولو در مورد جدول مي دم :
اين جدول 4 تا فيلد داره كه id فيلد Auto increament است و topic سوال راي گيري و گزينه هاي راي گيري است همچنين در فيلد type مشخص میکنیم که این رکورد سوال ما است یا یکی از گزینه های ما است ... براي سوال راي گيري كه فقط يكي است در اين فيلد q قرار مي دهيم و براي گزينه ها s قرار مي دهيم .
فیلد count هم كه تعداد راي براي هر گزينه را در خود نگه مي دارد .

Question چرا از دو جدول استفاده نكرديم ؟ Idea براي اين كه سرعت دستيابي به يك جدول خيلي بيشتر از دو جدول است .

خوب بريم سراغ كد :
كد:
<?php
$host = "localhost";
$db_name = "temp";
$db_user = "root";
$db_pass = "MyPassword";

$link = mysql_connect($host,$db_user,$db_pass) or die(musql_error());   
   mysql_select_db($db_name,$link) or die("Can not select Data base!");

//Check Action Set ...
if(isset($_GET['action']))
{
   if($_GET['action'] == 'vote')
   {
      $poll_id = (isset($_POST['webpoll'])) ?  $_POST['webpoll'] : '';
      if($poll_id != '')
      {
         $sql = "UPDATE `poll` SET `count`=count+1 where `id`='".$poll_id."' AND `type`='s'";
         $result = mysql_query($sql) or die(mysql_error());
      }
   }
      $count = 0;
      $sql = "SELECT * FROM `poll` WHERE `type`='s'";
      $result = mysql_query($sql) or die(mysql_error());
      $n = mysql_num_rows($result);
      for ($i=0;$i<$n;$i++)
      {
         $count += mysql_result($result,$i,3);
      };
      if($count == 0){$count = 1;};
      $output = 'The Result of Vote<br><br>';
      for ($i=0;$i<$n;$i++)
      {
         $num = mysql_result($result,$i,3) * 100;
         $num /= $count;
         $num = (int) $num;
         $output .= mysql_result($result,$i,1).' '.$num.'%<table border="0" width="'.$num.'%" height="20" bgcolor="#0000FF"><tr><td></td></tr></table>';
      };

      $output .= '<br>The webPoll Result From '.$count.' Votes<br><a target="_self" href="'.$_SERVER['PHP_SELF'].'" >[Back]</a>';
}
else

{
//Web Poll...

$sql = "SELECT * FROM `poll` WHERE `type`='s'";
$poll = mysql_query($sql) or die(mysql_error());

$topic_sql = "SELECT `topic` FROM `poll` WHERE `type`='q'";
$poll_result = mysql_query($topic_sql) or die(mysql_error());   
$poll_question = mysql_result($poll_result,0,0);

$poll_total = mysql_num_rows($poll);

$output = '<p align="center" dir="ltr">'.$poll_question.'</p><form method="POST" action="?action=vote">';

$vote_count = 0;

for ($i = 0; $i < $poll_total; $i++)
{
   $vote_count += mysql_result($poll,$i,3);
   
   $poll_value = mysql_result($poll,$i,0);
   $poll_name = mysql_result($poll,$i,1);
   
   $output .='<input type="radio" value="'.$poll_value.'" name="webpoll" style="CURSOR:Hand;" >'.$poll_name.'<br>';

}

$output .='<input type="submit" value="vote" name="submit_poll" > <br><br><a title="View Poll Result" target="_self" href="?action=show_result" >Total Votes : '.$vote_count.'</a>';

}//End of Action Set

//----------------------------------------
//Print the output

print($output);

?>

راهنمايي :
اين كد را در فايلي با هر نامي كه خواستيد و با پسوند php ذخيره كنيد و اجرا نماييد .

در
كد:
$db_name = "temp";

به جای temp نام ديتا بيس خود را بنويسيد.

در
كد:
$db_user = "root";

به جاي root نام كاربري ديتا بيس خود را بنويسيد.

در
كد:
$db_pass = "MyPassword";

به جاي My Password كلمه عبور ديتا بيس را بنويسيد .


-------------------------------
و اما بررسي اين كد :
اساس كار اين كد به اين صورت است كه تعداد آراي هر گزينه را بر تعداد كل آرا تقسيم مي كند و در صد آن را به دست مي آورد و بر اساس آن با استفاده از تگ <table> براي هر گزينه يك جدول ترسيم مي كند .

در خط 7 و 8 اتصال به هاست و انتخاب ديتا بيس را انجام مي دهيم.
از خط 10 تا 42 مربوط به ثبت آرا و نمايش نتايج مي باشد.
بقيه آنها هم براي ترسيم Radio Button ها و دكمه راي و ... است

بررسي ثبت راي ...
در خط 11 چك مي كنيم كه action ست شده است يا نه اگر ست شده باشد وارد شرط مي شويم
در خط 13 در صورتي شرط برقرار مي شود كه كاربر دكمه ارسال راي را كليك كرده باشد . پس از ورود به اين شرط در خط 15 poll_id كه كد منحصر به فرد هر گزينه است را به دست مي آوريم در صورتي كه poll_id مقداري نداشته باشد به اين معني است كه كاربر گزينه اي را انتخاب نكرده است پس ما فقط نتايج آرا را به او نمايش مي دهيم حالا فرض بر اين كه كاربر گزينه اي را انتخاب كرده باشد ... در خط 18 و 19 يك query را نوشته و اجرا مي كنيم ؛ اين query يك واحد به راي انتخاب شده اضافه مي كند .

خط 22 تا 41 مربوط به نمايش نتايج آرا است در اين قسمت همان طور كه گفته شد براي نمايش درصد هر گزينه تعداد آراي مربوط به آن را بر كل تعداد آرا تقسيم مي كنيم و در 100 ضرب مي كنيم و آنها را زير هم چاپ مي كنيم .
نوشته شده توسط ممل هکر در سه شنبه بیست و سوم خرداد 1385 ساعت 10:48 | لینک ثابت |

   

  RSS 

  پیوندها  
وبلاگ مرتبط با وبلاگ
سایت تخصصی موبایل و کامپیوتر
ارائه دهنده خدمات ميزباني وب
سايت دانلود انواع نرم‌افزار
یه وبلاگ باحال برای دانلود نرم افزار
سايت تخصصي الكترونيك
سايت دوستداران اندي
سايت در مورد پرگرامر
اطلاعات علمی
گالری عکس
  پیوندهای روزانه  
۩۞۩ تبدیل صدای مرد به زن ۩۞۩
فضای رایگان با امکانات دیتا بیس
الکترونیک
آرشیو پیوندهای روزانه