نحوه ی خواندن اطلاعاتی خاصی از یک جدول دیتا بیس

shadecute

Member
سلام
دوستان به چه صورت میشه یه چیز خاص رو از یه جدول تو دیتا بیس خوند

من از یه اسکریپت استفاده می کنم که تعداد بازدید هر مطلب رو تو هر صفحه جدا نشون میده
این مقادیر میره تو دیتا بیس تو جدولی به نام هیت ذخیره میشه
تمام مطالب یه جدول جدا دارن دیگه
چه طوری جمع این مقادیر جدول هیت رو بگیرم ؟
یعنی یه چیزی درست شه به نام مجموع بازدید ها
چون همه بازدید ها رو می خوایم با هم جمع کنیم یه عدد شه

ممنون میشم راهنمایی کنید
 

BehrouzPc

پــــادشــاه فــلــــش
دست عزیز فکر کنم می بایست از فرمان زیر استفاده کنی

SELECT sum (hit) as allhit FORM table

یا این فرمان مقادیر hit با هم جمع شده و در قالب allhit در اختیار شما می باشد

و از دستور count به جای sum می توانید در زمانی که بخواهید مجموع رکورد های ثبت شده را بگیرید بدون توجه به مقدار اون فقط تعدادشون
استفاده میشه

در ادامه میتونی از بقیه فرمانها اهم از WHERE استفاده نمایید
 

shadecute

Member
دست عزیز فکر کنم می بایست از فرمان زیر استفاده کنی

select sum (hit) as allhit form table

یا این فرمان مقادیر hit با هم جمع شده و در قالب allhit در اختیار شما می باشد

و از دستور count به جای sum می توانید در زمانی که بخواهید مجموع رکورد های ثبت شده را بگیرید بدون توجه به مقدار اون فقط تعدادشون
استفاده میشه

در ادامه میتونی از بقیه فرمانها اهم از where استفاده نمایید

ممنون دوست عزیز
من خیلی مبتدیم
یه خواهش ، الان از این خط چه طوری استفاده کنم ؟


ببینید من از یک فایل پی اچ پی که یکی از دوستان زحمتشو کشیده استفاده می کنم برای شمارهنده بازدید مطلب ..
این فایل پی اچ پی رو اینکلود کردم تو صفحاتم . و بعد از تگ های معرفی شده در این فایل پی اچ پی استفاده می کنم برای نمایش اطلاعات .
الان نحوه دقیق استفاده از این خط کد به چه صورته ؟
میشه دستورات لازم رو به همین فایل پی اچ پی اضافه کنم ؟ یا باید یه فایل پی اچ پی دیگه ساخته شه ؟


ممنون از راهنماییتون
 
آخرین ویرایش:

BehrouzPc

پــــادشــاه فــلــــش
نمیشه اینجوری
کدهای فایلتون رو اینجا بزارید
 

shadecute

Member
نمیشه اینجوری
کدهای فایلتون رو اینجا بزارید
من از کد زیر استفاده میکنم این فایل پی اچ پی رو تو سایتم آپلود کردم و بعد آدرسشو تو صفحاتم اینکلود کردم بد برای استفاده از امکاناتش یه سری تگ که نویسندش معرفی کرده بود استفاده می کردم .

PHP:
<?php
$dbhost = "localhost"; // The host where your database is 
$dbname = "*****"; // Your database name 
$dbuser = "*******";     // The user name 
$dbpass = "******t"; // The user's password 
	$domain = "http://www.domain.com";
	@mysql_connect ($dbhost, $dbuser, $dbpass) or die ("?§U…?©?§U† ?¯?³???±?³UŒ ?¨U‡ ?¨?§U†?© ?§?·U„?§?¹?§??UŒ U†U…UŒ?¨?§?´?¯" ) ;
	@mysql_select_db ($dbname);
	
	if (isset( $_POST["id"]) ) {
	   sethit($_POST["id"]);
	} 

function sethit($entry_id)
{	
	
	$query = "SELECT * FROM mt_hits WHERE entry='$entry_id'";
	$res = mysql_query($query);
	if ( $row = mysql_fetch_array($res) )
	{
		$new_hit = $row['hits'] + 1;
		$rr = mysql_query ("UPDATE mt_hits SET hits = '$new_hit' WHERE entry = '$entry_id' LIMIT 1");
		return $new_hit;
	}
	else
	{
		mysql_query("INSERT INTO mt_hits ( `uid` , `entry` , `hits` ) VALUES ('', '$entry_id', '1' )");
		return "1";
	}
}	


function showhits($entry_id) 
{	
	$hits=0;
	$query = "SELECT hits FROM mt_hits WHERE entry = '$entry_id'"; 
	$res = mysql_query($query); 
	while ( $row = mysql_fetch_array($res))
	{ 
		$hits=$row["hits"]; 
	} 
	echo $hits;
}


function tophits($bid,$total=10,$showhits=1)
{
   $query="SELECT mt_hits.hits,mt_entry.entry_title,mt_fileinfo.fileinfo_url FROM ".
		   "mt_hits ,mt_entry ,mt_fileinfo WHERE mt_hits.entry =  mt_entry.entry_id AND ".
		   "mt_entry.entry_id = mt_fileinfo.fileinfo_entry_id AND ".
		   "mt_entry.entry_blog_id IN ($bid) ORDER BY mt_hits.hits DESC LIMIT 0,$total";
//echo ($query);
	$res = mysql_query($query); 
	while ( $row = mysql_fetch_array($res) )
	{ 
	   if ($showhits == 0 )  
	   {
	   		echo ("<a href=\"".$row["fileinfo_url"]. "\">".$row["entry_title"]."</a>") ;
	   }
	   else
	   {
	    echo ("<a href=\"".$row["fileinfo_url"]. "\" style=\"direction:rtl\">" .$row["entry_title"]." [".$row["hits"]."]</a>");
		}
	} 

}

function rndentry($bid,$total=10,$showhits=1)
{
 if ($showhits == 1)
$query="SELECT mt_hits.hits,mt_entry.entry_title,mt_fileinfo.fileinfo_url FROM ".
"mt_hits ,mt_entry ,mt_fileinfo WHERE mt_hits.entry = mt_entry.entry_id AND ".
"mt_entry.entry_id = mt_fileinfo.fileinfo_entry_id AND ".
"mt_entry.entry_blog_id IN ($bid) ORDER BY RAND() LIMIT 0,$total";
else
$query="SELECT mt_entry.entry_title,mt_fileinfo.fileinfo_url FROM ".
"mt_entry ,mt_fileinfo WHERE ".
"mt_entry.entry_id = mt_fileinfo.fileinfo_entry_id AND ".
"mt_entry.entry_blog_id IN ($bid) ORDER BY RAND() LIMIT 0,$total";

	$res = mysql_query($query); 
	while ( $row = mysql_fetch_array($res) )
	{ 
	   if ($showhits == 0 )  
	   {
	   		echo ("<a href=\"".$row["fileinfo_url"]. "\">".$row["entry_title"]."</a>") ;
	   }
	   else
	   {
	    echo ("<a href=\"".$row["fileinfo_url"]. "\" >" .$row["entry_title"]." [".$row["hits"]."]</a>");
		}
	} 
}

?>

کد بالا برای ام تی استفاده می شه .
یه سری امکاناتو نشون میده
تعداد بازدید هر مطلب .
پر بازدید کننده ترین مطالب و ....
من از بازدید هر مطلبش استفاده می کنم .تو دیتا بیس هم جدولی به نام hits میسازه
 
آخرین ویرایش:

BehrouzPc

پــــادشــاه فــلــــش
///new function ///////////////////////////
function showallhits () {
$hits=0;
$query = "SELECT sum(hits) as allhit FROM mt_hits";
$res = mysql_query($query);
$data = mysql_fetch_assoc($res);
return $data['allhit'];
}
////////////////////////////////////////////
 

shadecute

Member
بسیار بسیار ممنون بهروز جان
قبل اینکه استفاده کنم 2تا سوال تکمیلی داشتم

1- نیازی به دستکاری دیتا بیس نیست ؟ یعنی جدولی اضافه برای جای دادن مجموع کل بازدید نیاز هست بسازم یا خیر.
2- کد بالا که گذاشتم همون طور که گفتم برای استفاده ازش تو قالبم فقط اینکلودش کردم و از یه سری تگ برای نمایش اطلاعات استفاده کردم .
برای مثال برای نمایش تعداد بازدید اون صفحه از این خط کد استفاده می کنم
<؟ echo sethit('MTEntryID>') ?>
الان این کدی که شما دادی رو به چه تگی بازخوانیش کنم .که مجموع رو نشون بده
ممنون
 

BehrouzPc

پــــادشــاه فــلــــش
- نیازی به دستکاری دیتا بیس نیست
این کد فقط همون جدول رو می خونه و جمع میزنه

برای نمایش این تعداد در هر جای که قبلا اون فایل رو اینگلوژ کرده باشی کد زیر رو استفاده کن

echo showallhits();
//code

استفاده کن
 

shadecute

Member
بهروز جان بسیار بسیار ممنون جواب گرفتم
شرمنده زیاد سوال پرسیدم .
بازم تشکر
 

BehrouzPc

پــــادشــاه فــلــــش
خواهش می کنم قابلی نداشت :D

:wink: موفق و پیروز باشی
 

جدیدترین ارسال ها

بالا