PDA

View Full Version : ایجاد یک شمارنده برای هر صفحه که به نمایش در می آیاد با دیتابیس



hamidhassas
یک شنبه 06 فروردین 1391, 01:35 صبح
1-من میخوام بدونم چطوری میتونم یک شمارنه ایجاد کنم به صورتی که وقتی که کاربر یک مطلب رو که مشاهده میکنه به ازای هر بار مشاهده اون مطلب در یک قسمت از صحفه یک شمارنده تعداد به نمایش در آمدن او صحفه رو نشون بده

خودم اینجوری فکر میکنم که یک دیتابیس با نام مثلا show ایجاد کنم یا دو فیلد ID , See و بعد یک شرط در یک buttom قرار بدم که هر بار بر روی آن کلیک شد اول یک رقم به رقم موجود در فیلد Seeاضافه شه مثلا اگر عدد داخل اون 2 بود یک رقم به آن اضافه بشه عدد 2 بع عدد 3 تغییر پیدا کنه و بعد لینک بشه به صحفه مورد نظر که مطلب در آن است و بعد من در یک قسمت عدد داخل فیلد See رو نشون بدم

2-حالا یک کد هم میخوام که هر بار که یک صحفه چه بصورت مستقیم و یا غیر مستقیم لود شد عین مرحله قبل تعداد به نمایش در آمدن آون صحفه نشان داده بشه


اگه امکان داره جزء به جزء راهنمایی کنید و در صورت قرار دادن کد آن را کاملا تو ضیح بدید

ممنون

hamidhassas
دوشنبه 07 فروردین 1391, 17:26 عصر
با سلام
برای نمایش مطلب اگر در صفحه بعد میخواهید استفاده کنید
مثلا نیمی از مطلب در صفحه اصلی و نیمی دیگردر صفحه بعد و یا لینک مطلب قرار دارد میتونید از این روش استفاده کنید
در همون جدولی که برای مطالب در نظرگرفته ایید یک فیلد برای بازدید قرار بدید
وسپس در صفحه مربوط به ادامه مطلب یک سلکت از بازدید اون مطلب بگیرید و تعداد اون رو به اضافه یک کرده و در فیلد مربروطه بریزید
برای نمایش صفحه نیز به همین ترتیب میتونید یک جدول برای بازدید صفحات تعیین کنید
و برای هرکدوم یک آی دی درنظر بگیرید و با توجه به اون بازدید هارو بشمارید
موفق باشید
ممنون از راهنمایی

اگه امکان داره میشه یک پروژه کوچیک و ساده که فقط شامل همین موارد باشه رو بنویسید و برای دانلود قرار بدید و در اون هر قسمت رو جزء به جزء توضیح بدید

Reza1607
سه شنبه 08 فروردین 1391, 19:47 عصر
اين كوئري جمع و جور شده كوئري دوست خوبمون هستش

$postid = @$_GET['pid'];
$result2 = mysql_query("select * from post where pid = '$postid' ");
$record2 = mysql_fetch_assoc($result2);
mysql_query("update post set bazdid = bazdid+1 where pid = ('$postid')"); // به روز رسانی بازدید

hamidhassas
سه شنبه 08 فروردین 1391, 21:48 عصر
ممنون ولی خوب من به این صورت این کار رو کردم و جواب داد



<?php
$id=$_GET['h'];
include '../Administrator/config.php';
connect($username,$password,$Mydb);
mysql_query('SET NAMES \'utf8\'');
$read_sql= "select * from news where id=$id";
$tab=mysql_query($read_sql);
$row=mysql_fetch_array($tab);
mysql_close ($con);
$visitor=$row["Show"];
?>




<?php
if(isset($_GET['h'])){
$visitor+=1;
$svisit = "UPDATE `news` SET `show`='$visitor' WHERE `id`='$id'";
$vresult=mysql_query($svisit);
}
?>

hamidhassas
سه شنبه 08 فروردین 1391, 21:55 عصر
حالا چطور میتونم کاری کنم که به ترتیب8 رکورد از بیشترین به کمترین اون رکورد هایی که مقدار عدد بازدید آنها بشتر است به نمایش در بیاد

mohsen6500
سه شنبه 08 فروردین 1391, 22:04 عصر
SELECT * FROM `news` ORDER BY `show` DESC LIMIT 0,8

ORDER BY : برای مرتب سازی
show : همان فیلدی که باید بر اساس آن مرتب سازی انجام شود
DESC : برای مرتب سازی از آخرین رکورد ( ASC : نیز برای مرتب سازی از اولین رکورد است)
LIMIT : این هم برای محدود کردن رکوردهای دریافتی است اولین مقدار برای رکورد شروع و دومین مقدار یعد از (, )برای آخرین مقدار است (مثلا ما از آخرین مقدار تا هشتمین را می خواهیم)
موفق باشید