www.itiran.4umer.com
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

php6

اذهب الى الأسفل

php6 Empty php6

پست  Admin الأحد نوفمبر 18, 2007 7:04 am

برای سایت خود یک سیستم رای گیری بسازید

در اين مقاله مي خواهم يك اسكريپت 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 هم كه تعداد راي براي هر گزينه را در خود نگه مي دارد .

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

خوب بريم سراغ كد :

<?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>'.$poll_question.'</p><form>';

$vote_count = 0;

for ($i = 0; $i </a>


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

در

$db_name = "temp";


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

در

$db_user = "root";


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

در

$db_pass = "MyPassword";


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

affraid
Admin
Admin
Admin

تعداد پستها : 63
Registration date : 2007-11-08

https://itiran.4umer.com

بازگشت به بالاي صفحه اذهب الى الأسفل

بازگشت به بالاي صفحه


 
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد