View Full Version : شمارش تعداد دفعات زده شده روی یک لینک
vafa_mohsen
دوشنبه 03 اسفند 1383, 15:29 عصر
سلام
من نمی توانم تعداد دفعاتی که روی یک لینک زده شده را در دیتابیس ذخیره کنم
در صفحه من یکسری لینک وجود داره، من می خواهم تعداد هریک از دفعاتی که روی این لینکها زده می شود را بشمارم.
لطفا مرا راهنمایی کنید.
باتشکر
kochol
دوشنبه 03 اسفند 1383, 18:20 عصر
من نمی توانم تعداد دفعاتی که روی یک لینک زده شده را در دیتابیس ذخیره کنم
چرا نمی توانی میشه توضیح بدی منظورت اینه که بلد نیستی
Behrouz_Rad
سه شنبه 04 اسفند 1383, 06:39 صبح
نحوه ذخیره سازی مرتبه کلیک بر روی یک لینک بدین شکل است که در هنگام کلیک بر روی یک لینک ٍ صفحه جاری به صفحه دیگر ریدایرکت می شود و همراه با ریدایرکت شدن ٍ آی دی لینک کلیک شده نیز همراه با این عمل به صفحه جدید انتقال پیدا می کند.
حال در صفحه جدید ٍ آی دی گرفته گرفته شده و یک مقدار به تعداد واحدهای مرتبه کلیک بر روی آن اضافه می شود و بقیه ماجرا...
SoheilKH
سه شنبه 04 اسفند 1383, 17:09 عصر
سلام
علاوه بر 'گفته های آقای راد می تونی از XMLHTTP استفاده کنی.شبیه اون چیزی که Orkut (خدایش بیامرزاد) از اون توی Hit دادن به Friend ها استفاده می کرد
User روی لینک کلیک می کنه ،Id لینک به یک تابع JavaScript فرستاده میشه.
توی تابع با استفاده از XMLHTTP یک Request (به همراه شماره Id و دیگر پارامترها )به صفحه مورد نظر انجام میشه .(برای افزایش Counter)
سپس لینک کلیک شده ، Open خواهد شد.
البته تمام این اعمال بدون اینکه صفحه به سمت سرور Submit بشه انجام خواهد شد
vafa_mohsen
پنج شنبه 06 اسفند 1383, 10:30 صبح
اقای راد و اقای سهیل خیلی ممنون از راهنمایتون
در مورد روش جاوا اسکریپت و xmlhttp من زیاد چیزی نمیدونم میشه بیشتر منو راهنمایی کنید.
باتشکر
SoheilKH
پنج شنبه 06 اسفند 1383, 19:34 عصر
سلام :
فرض کنیم اطلاعات ات را می خواهی با DataGrid نمایش بدی.
برای قسمت مربوط به لینک این ItemTemplate را به قسمت کد دیتا گرید ات اضافه کن.
<asp:TemplateColumn HeaderText="لینک">
<ItemTemplate>
<a onclick="IncreaseCounter(this)" LinkId='<%# DataBinder.EvalContainer, "DataItem.au_lname") %>' href='<%# DataBinder.Eval(Container, "DataItem.au_lname") %>'>
<%# DataBinder.Eval(Container, "DataItem.au_lname") %>
</a>
</ItemTemplate>
</asp:TemplateColumn>
این تابع جاوا اسکریپت به صفحه ات اضافه کن
<script language=javascript>
<!--
function IncreaseCounter(Obj)
{
var StrAddress="Default.aspx?LinkId=" + Obj.LinkId ;
var DataToSend = "LinkId=" + Obj.LinkId;
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST",StrAddress,false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(DataToSend);
}
//-->
</script>
یه صفحه به نام Default.aspx درست کن.
این کد رو هم توی Page Load اش بذار
if ( Request.QueryString["LinkId"] !=null )
{
Response.Write(Request.QueryString["LinkId"]);
// Connect To DataBase And Increase Your Link Counter
}
موفق باشی
Identifier
یک شنبه 09 اسفند 1383, 15:21 عصر
واقعا جواب خوبی بود ممنون SoheilKH
vafa_mohsen
دوشنبه 10 اسفند 1383, 09:40 صبح
سلام
sohilKh دستت درد نکنه خیلی عالی بود
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.