نیازی به این کارا نیست...
کافیه بجای ساخت جدول برای هر سایت ، یک جدول بسازید با یک ستون اضافه به نام url تا کار راحت تر بشه...
سشن هم لازم نیست ، هر بار که صفحه باز شد(یا رفرش شد) باید چک بشه که اون IP تا حالا ثبت شده یا نه ، اگه شده ، ستون time رو با استفاده از تابع
time آپدیت بشه ، در غیر اینصورت یه رکورد جدید ثبت بشه...
لازم نیست هر 5 دقیقه یک بار هم جدول چک بشه و رکورد های اضافی پاک بشه... میتونیم این کار رو هر 24 ساعت یک بار انجام بدیم تا رکورد های اضافی رو پاک کنه و پرفورمنس بیشتری داشته باشیم...
برای چک کردن افراد آنلاین هم میتونیم از تابع count در کوئری استفاده کنیم... با 2 شرط:
1. url برابر آدرس سایت باشه...
2. مقدار ستون time بیشتر از ()time منهای 600 باشه... (برای شمردن افرادی که از 10 دقیقه قبل تا حالا از سایت استفاده کردند...)
====
ولی من خودم برای ساخت همچین سایتی ، استفاده از دیتابیس flat رو بیشتر میپسندم (flatfile به دیتابیسی میگن که خودمون بنویسیم و از فایل ها بجای استفاده از mysql, oracle, sqlite و دیتابیس های دیگه استفاده کنیم...)
اینطوری ممکنه دردسر بیشتری داشته باشیم ، اما پرفورمنس بهتری داریم... بطوری که زمان بازکردن و ویرایش اطلاعات و زخیره فایل کمتر از استفاده از توابع mysql_connect یا mysql_select_db میتونه باشه....
بهرحال... صلاح کار خویش خسروان دانند!