جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
Sina
3 سال پیش توسط Sina مطرح شد
6 پاسخ

شمردن تعداد کلیک ها ذخیره آنها در دیتابیس

درود
وقت همگی بخیر
من یه تب منو با ساختار زیر دارم که میخوام تعداد کلیک ها روی هرکدام از تب هارو به همراه تاریخ و ساعت کلیک و اسامی اونها بشمارم و توی دیتابیس به صورت مجزا ذخیره کنم ترجیح ام اینه که با استفاده از جی کوئری و ایجکس و php این کار رو انجام میدم
مثلا توی دیتا بیس مخوام همچنین دیتایی باشه که در تاریخ و ساعت فلان روی تبی که تگ a با href=#tab-content-1 داره 10 بار کلیک شده
ممنون میشم راهنمایی کنید و اگر نمونه کدی هم دارید قرار بدید چون به صورت تئوری تا حدی میدونم باید چیکار کنم اما عملی نه ...

<div class="tabs-vertical">
    <ul class="tabs">
        <li class="active">
            <a href="#tab-content-1"> Tab One</a>
        </li>
        <li class="">
            <a href="#tab-content-2">Tab Two</a>
        </li>
        <li class="">
            <a href="#tab-content-3">Tab Three</a>
        </li>
    </ul>
    <div class="tab-content is-not-active" id="tab-content-1" style="display: block;">
        <div>Content is Here</div>
    </div>
    <div class="tab-content is-not-active" id="tab-content-2" style="display: none;">
        <div>Content is Here</div>
    </div>
    <div class="tab-content is-not-active" id="tab-content-3" style="display: none;">
        <div>Content is Here</div>
    </div>
</div>

ثبت پرسش جدید
سید حسین رضوی
تخصص : برنامه نویس وب و طراح رابط کار...
@hossein.r.1442 3 سال پیش مطرح شد
2

شما را حت با querySelectorAll تگ های A مورد نظر رو بگیر و بعد با forEach برای هر کدوم یه ایونت ست کن و راحت مقدار href رو بگیر و حالا درخواست ajax رو بفرست
مثلا

const tabs = document.querySelectorAll('a.tab-nav');
tabs.forEach(item => {
   let href = item.href; // sample value: #tab-content-1
    item.addEventListener('click', () => {
        // ajax code
    })
});

Sina
@sinayas1 3 سال پیش آپدیت شد
0

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


بامداد
@bamdad 3 سال پیش مطرح شد
0

یه رویداد onclick روی اون تگ اعمال کن ، بعد توی تابعی که تو رویداد onclick نوشتی ، یه در خواست ajax اجرا کن که بره تو دیتابیس و مقدار اون فیلد را update کنه ( مثلا یکی زیادش کنه )


Sina
@sinayas1 3 سال پیش مطرح شد
0

دوستان من با این تیکه کد تونستم تکست داخل تگ a با href='#tab-content-1 یعنی عبارت (Tab One) رو زمانی که کلیک میشه بگیرم و بفرستم سمت فایل php و بعد هم ارسال تو دیتابیس فقط الان یه مشکلی که دارم اینه که تعداد زیادی از این تگهای a دارم که به ترتیب میشن
tab-content-1
tab-content-2
tab-content-3
و ....
تو HTML هم نمیتونم تغییری ایجاد کنم چجوری میتونم همه اینارو انتخاب کنم و جدا جدا ارسال کنم چون زمانی که همرو انتخاب میکنم کل دیتا ارسال میشه !!!
و اینکه مقادیر قسمت ajax درست نوشته شده چیزه دیگه ای نباید اضافه بشه بهش ؟

<script>
var Url = jQuery("a[href='#tab-content-1']").text();
jQuery(this).click(function() {
    jQuery.ajax({ 
                 url: "count.php",
                 type: "POST", 
                 data: {
                 Url: Url
                 }, 
                cache: false, 
            }); 

});
</script>

@hossein.r.1442
@milad
@mhyeganeh


سید حسین رضوی
تخصص : برنامه نویس وب و طراح رابط کار...
@hossein.r.1442 3 سال پیش مطرح شد
2

شما را حت با querySelectorAll تگ های A مورد نظر رو بگیر و بعد با forEach برای هر کدوم یه ایونت ست کن و راحت مقدار href رو بگیر و حالا درخواست ajax رو بفرست
مثلا

const tabs = document.querySelectorAll('a.tab-nav');
tabs.forEach(item => {
   let href = item.href; // sample value: #tab-content-1
    item.addEventListener('click', () => {
        // ajax code
    })
});

Sina
@sinayas1 3 سال پیش آپدیت شد
0

@hossein.r.1442
درود جناب رضوی
بسیار بسیار سپاسگزارم از پاسختون، برای بار دوم هست که شرمنده لطف و پاسخ عملی شما میشم بسیار ممنونم 🙏🙏🌹🌹
با مقداری تغییر (چون نیاز داشتم تکستِ داخلِ تگ a رو بفرستم سمت دیتابیس) تونستم به نتیجه ای که میخواستم برسم :

<script>
const tabs = document.querySelectorAll('.tabs>li>a');
tabs.forEach(item => {
   let href = item.text;
    item.addEventListener('click', () => {
                  jQuery.ajax({ 
                 url: "count.php",
                 type: "POST", 
                 data: {
                 Url: href
                 }, 
                cache: false, 
            });
    })
});
</script>

سید حسین رضوی
تخصص : برنامه نویس وب و طراح رابط کار...
@hossein.r.1442 3 سال پیش مطرح شد
2

خواهش میکنم
ما همه اینجا هستیم تا به همدیگه کمک کنیم، من به شما، شما به یکی دیگه، یکی دیگه به من و این زنجیره همینطوری ادامه داره
البته خدمتتون عرض کنم که من یا شما که به کسی کمک میکنیم تنها به اون شخص فایده نرسوندیم، بلکه همین کمک کردن به دیگران در نهایت باعث میشه خودمونم بیشتر بیاموزیم، پس سعی کنید هر وقت در توانتون بود به سوالات دوستان پاسخ بدید، شاید جایی پاسخمون علمی و دقیق نباشه ولی خوب امکان داره یه راهی برای اون فرد باز بشه تا نهایت به پاسخ برسه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام