سایت خود را بسازید ، به روش saalek110

saalek110

Well-Known Member
رسیدیم به پست ۲۰۱
صفحه ۱۱

خلاصه کدها را در صفحه ۹ گذاشتیم.

و ادیتور تکمیل شد.


Screenshot_۲۰۲۴-۰۱-۲۱_۱۶۳۶۵۴.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
من تلاش کردم با table یک ساختاری برای سایتم ایجاد کنم:


فعلا دو تیبل در بالا داره ، یک تیبل در وسط
تیبل وسطی ۳ ستون داره که در هر ستون خودش تیبل داره.
تیبل های ستون اول و سوم را داخلش نوشتم ستون ۱ و ستون ۳ تا مشخص باشه.
 
آخرین ویرایش:

saalek110

Well-Known Member
جدول نظرات را می خواهم بسازم.
ستون اول از نوع bigint و اسمش باز number و باز مثل جدول posts از نوع خود افزایش یابنده ، یعنی تیک A.I را بزنید. بعد زدن دکمه change در ردیفش در حالت استراکچر جدول. یا همون موقع ساخت جدول امکان زدن این تیک وجود داره.
ستون دوم اسمش comment نوع varchar طول 500
ستون سوم با نام time نوع varchar طول 150
و collation ستون comment و ‌time همان مثل جدول posts از نوع utf8 persian

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

فعلا طبق شکل زیر من ۴ جدول دارم ، اون جدول ‌name_email برای تست بود و ربطی به کار سایت نداره.

Screenshot_۲۰۲۴-۰۱-۲۲_۰۵۲۱۳۱.jpg

شکل زیر هم استراکچر جدول comments است.

Screenshot_۲۰۲۴-۰۱-۲۲_۰۵۲۵۳۰.jpg

در جدول posts من ۳ ستون برای ساعت و تاریخ در نظر گرفتم ولی شاید یکی کافی بود، در جدول نظرات یا comments یک ستون فقط در نظر گرفتم. خودتان فکر کنید چند ستون مناسب است. همان را کار کنید.
 
آخرین ویرایش:

saalek110

Well-Known Member
یک جدول هم بسازیم برای شمارش گرهای سایت به اسم counters.
ستون اولش باز اسمش number باشه و خود افزایش یابنده از نوع int

و ستون بعدی اسمش count باشه و bigint

Bigint فکر کنم تا میلیارد می تونه بشماره.

بعد ساخت جدول counters با زدن دکمه insert یک ردیف بهش اضافه کنید تا کنتور صفحه اول سایت را بسازیم. عدد صفر را در ستون count وارد کنید تا از صفر بشمره ....بعدا باز عددهای صفر insert می کنید برای کنتورهای بقیه صفحات سایت خود ... و خودبخود ستون نامبر کنترهای شما را شمارا خواهد داد.

حالا اگر دکمه بروس جدول counters را بزنید عکس زیر را داریم:

Screenshot_۲۰۲۴-۰۱-۲۲_۰۵۳۴۳۰.jpg

و به لیست جداول دیتابیس ما یکی باز اضافه شد. شکل زیر:

Screenshot_۲۰۲۴-۰۱-۲۲_۰۵۳۶۳۷.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
اکثر این کارها دیگه تکراری است ، ساخت جدول و خواندن جدول با کد و ...
ولی من بایستی این کارهای تکراری را انجام دهم تا اگر نکته ای در کار باشد گفته شود.
 

saalek110

Well-Known Member
کد شمارشگر صفحات:

PHP:
function counter( $ccoonn  , $number) 
 {//function
global $ccoonn;

 $s=0;
 $sql = "SELECT * from counters WHERE number=$number  ";
 $result = mysqli_query($ccoonn ,$sql);
 while($info = mysqli_fetch_array( $result ))
    {
    $s=$info['count'] ;
    }

$s=$s+1;
  $sql = "UPDATE counters SET  count=$s WHERE number=$number";
$result = mysqli_query($ccoonn ,$sql);
return $s;
 }//function counter

شرح کل بالا :
اولا اومده متغیر کانکشن را گلوبال کرده تا بهش دسترسی داشته باشه.
همچنین قبلا ما فایل functions.php که در پوشه functions بود را include کرده بودیم.
من تابع فوق را به همین فایل افزودم. قبلا یک تابع خوندن متن از جدول texts در این فایل بود.
یک متغیر به نام s تعریف کردیم و برابر صفر قرار دادیم تا آماده استفاده بشه.
بعد جدول counters را خوندیم جایی که number برابر ۱ باشد. شمارشگر شماره ۱ را برای صفحه اول در نظر گرفتیم ، برای باقی صفحات که بعدا ممکن است ایجاد شود ردیف های بعدی اختصاص خواهد یافت.
بعو خوندن اون سلول حافظه در متغیر s قرار دادیم. و بعدش یک واحد به متغیر s می افزاییم تا بازدید فعلی اضافه بشود. بعد باید عدد جدید s را در دیتابیس ثبت کنیم. و بعد با return می آییم s را به صدا زننده تابع پس می فرستیم. تابع هایی که داخلش return دارد ، موقع صدا زدنش باید متغیری را برابر تابع قرار دهیم تا مقدار پس فرستاده را دریافت کنیم.

کد صدا زدن تابع شمارشگر و نمایش تعداد بازدید:
PHP:
$count=counter(1);
 $str=writeMsg(6) ;
 echo $count;
 echo $str;

در کد بالا متغیری تعریف کردیم تا برگشتی تابع را دریافت کنیم.
برای زیباتر شدن ، کلمه فارسی بازدید را هم من کنارش افرودم. تابع writeMsg برای خوندن عبارات از جدول texts است که عبارت شماره ۶ همین کلمه ((بازدید)) است.

چگونگی نمایش فعلی بازدید:
Screenshot_۲۰۲۴-۰۱-۲۲_۰۶۱۸۲۶.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
در مورد کار با نظرات:

در مورد کار با جدول نظرات یا همون comments
هیچ فرقی با کار با جدول posts نداره ، چون نظر و پست هر دو نوشته هایی در دیتابیس هستند.
برای نظرات دیگه قسمت ادیت نظر نداریم. دیلت نظر داریم.دیلت پست هم باید اضافه کنید.

اگر من نرسیدم ، خودتان بنویسید.
کوئری DELETE خیلی ساده است . آخرش WHERE number=$number بزارید. یعنی وقتی ستون number اش فلان عدد بود.

برای همین من ستون خود افزایش یابنده به نام number را اضافه می کنم به همه جداول که هر سطری شماره داشته باشه و بشود با گفتن شماره سطر روی اون سطر کار کرد ... مثلا خواند یا تغییر داد یا دیلت کرد.
با select و update و delete.
کوئری چهارمی هم که insert است یعنی ایجاد یک سطر.در موقع ایجاد ستون number خودبخود بهش یک عدد می دهد.
 
آخرین ویرایش:

saalek110

Well-Known Member
جمع بندی:

حالا ، شما بلدید در phpmyadmin جدول بسازید
و بلدید با php و کوئری ها با جداول دیتابیس کار کنید.

جداول دیتابیس محل ذخیره مطالب شماست.

البته میشه در فایل هم ذخیره کرد ، بی نیاز به دیتابیس ...
اگر علاقه به این کار دارید ، باید کار با فایل در php را یاد بگیرید..


از کوئری ها فکر کنم کوئری دیلت استفاده نشده باشه که فکر گنم ساده ترین کوئری باشه بین ۴ کوئری ذکر شده.

من خودم در سایتم یک ساله دارم کار می کنم ، و حالت یک وبلاگ ازش استفاده می کنم. و با همین کدها کارم راه افتاد... الان چیز دیگری به ذهنم نمی رسه که اضافه کنم.

اضافه کردن ثبت نام و لوگین کاری نداره و شاید گفتم ولی شاید بدون اونها هم سایت شما کار می کنه.

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

saalek110

Well-Known Member
ساخت فروم دست نویس:

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

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

saalek110

Well-Known Member
ساخت بازی:

مسلما بازی هم میشه ساخت ، ولی این تاپیک برای این کار نیست. من تاپیکهای مخصوص ساخت بازی دارم.
در این تاپیک به ساخت بازی فکر نمی کنم،
این تاپیک بیشتر برای کسانی باز شده ، که بتوانند برای خودشان سایت بسازند و از اون سایت استفاده کنند. مثلا برای شغل خود یا تحقیقات یا کارهای دیگر.
 

saalek110

Well-Known Member
کوئری ها و php ;
کوئری ها قدرت مانور بیشتری دارند و کارهای پیچیده تری میشه باهاشون کرد و خودش یک رشته است.
ولی برای ما همین کوئری های ساده کافی بود فعلا. منظورم اینه اگر می خواهید کارهای پیشرفته تر و پیچیده تری بکنید کوئری ها قدرت و میزان مانور بالایی دارند.
خود زبان php هم قدرت بالایی دارد.

در این تاپیک ، ما قصد داشتیم کمک کنیم کسانی استارت سایت خود را بزنند ، و قصد من ساده سازی کار بود.
حالات ساده را حفظ کردم و با همون حالات ساده سعی کردم همه کارها را انجام دهم.

جاوا اسکریپت در تعامل با خواننده می تواند کمک کند... و php مثلا می تواند در پردازش متن ها و کار با دیتابیس قوی تر عمل کند.

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

saalek110

Well-Known Member
سایت های آماده مثل وردپرس و جوملا:

خیلی از این هاست ها خودشان امکان نصب قالب های آماده را می دهند.

ولی من توصیه نمی کنم. من خودم این کار را کردم.... با وجودی که من زبان php را در حد خوبی بلدم ، وقتی اشکالی برای این قالب هاپیش اومد کاری از دستم ساخته نبود... چون فایلهای این فالب ها مثلا صد هزار خط است و فهم اون همه کد تقریبا غیرممکن است... تازه یک فایل نیست و فایلهای زیادی است که به هم مربوط کار می کنند...

البته کار غیرممکنی نیست بشینیم تمام کدها را یاد بگیریم ولی این همه زحمت دارد و شاید از تحمل من و شما خارج باشد و اصلا برای چی چنین کار سنگینی ما باید بکنیم؟

اگر هم نخواهید کدها را بفهمید وقتی کوچکترین مشکلی در سایت شما بوجود اومد باید رهایش کنید.... نمی دونم پشتیبانی کمکی می کند یا نه. من که تست نکردم...


ولی اگر آموزش های همین تاپیک را بخونید و سایت خود را برپا کنید ، تا یک سال دیگر به خیلی چیزها مسلط می شوید و سایت خیلی خوبی خواهید داشت.


من خودم دنبال بازدید کننده نبودم ، فقط محلی می خواستم برای نگه داری یادداشت هایم و مردازش اونها.
برای همین دنبال زیباسازی یا توسعه سایتم نبودم... ولی کدهای html و css و php و کوئری های mysql توانایی زیادی درشون هست و کارهای زیبا و قدرتمندی می شود باهاشون کرد.

من فکر می کنم فروم بعدی ام را هم دست نویس بنویسم.نه قالب آماده ، چون اگر اشکالی درش پیش بیاد چون خودم ساختم ممکن است بتوانم رفع کنم. فروم من الان مشکل پیدا کرده... قادر به رفع اش نیستم... یعنی وقتش را ندارم..... باید به شغل خودم برسم ...شغل من که کدنویسی نیست.


اگر شما بتوانید کسی را برای نگه داری سایت خود استخدام کنید شاید قالب آماده توجیه داشته باشه...
البته من تجربه کمی در این وادی دارم و نظر من زیاد قابل اتکا نیست ، فقط خواستم نظرم را داده باشم.
 

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

بالا