ساخت CMS ساده با PHP - قسمت 2 - ساختار دیتابیس و جداول

- visibility ۳۲ mode_comment

به نام خدا و  با سلام خدمت همه دوستان عزیز در سون لرن؛در ادامه ی بحث ساخت CMS ساده با PHP برای این مطلب که قست اول محسوب میشه قصد داریم ساختار دیتابیس و جداول مورد نیاز با فیلد های لازم رو بررسی کنیم،همون طور که می دونید بحث طراحی دیتابیس مهم ترین بخش ایجاد یک پروژه تحت وب هستش،پس باید برای این مسئله اهمین زیادی قائل بشیم.

info نکته :

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

 ساختار دیتابیس و جداول

در ابتدا یه دیتابیس با نام CMS ایجاد میکنیم و جدول های زیر رو به ترتیب ایجاد می کنیم.فایل اسکریپت SQL ساخت دیتابیس در انتهای مطلب ضمیمه شده.برای این CMS ساده ما از چهار تا جدول برای مطالب،کاربران،پست ها و برگه ها استفاده کردیم که ساختارشون به صورن زیر هستش.

جدول posts

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

 

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

جدول comments

از این جدول برای ذخیره نظرات کاربران در مطالب استفاده میکنیم.

 

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

جدول pages

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

خوب فکر نمیکنم توضیح خاصی بخواد چون خودتون می بینید که همون ساختار مطالب رو داره.

 جدول users

خوب اینم از جدول کاربران ما که اطلاعات کاربران در اون ذخیره میشه،برای لاگین کردن در سایت و ثبت نام ازش استفاده میشه و شامل فیلد های شناسه کاربر،نام کاربری،کلمه عبور(چون برای ذخیره کلمه عبور از الگوریتم های رمزنگاری مثل md5 استفاده میکنیم باید طول مناسب براش انتخاب بشه،الگوریتم md5 رشته ای با 32 کاراکتر تولید میکنه پس فیلد کمله عبور حداقل  32 کاراکتر باید طول داشته باشه )، ایمیل کاربر،تاریخ ثبت نام،سطح کاربری (در این آموزش فقط دو سطح کاربری  admin و user ایجاد میشه و بعدا در اموزش های بعدی به طور مفصل نحوه ساخت یه سیستم ACL کامل رو قرار میدیم) و وضعیت کاربر هستش.شناسه کاربری به صورت فیلد یکتا و کلید اصلی و وضعیت کاربر هم به صورت کلید تعریف شده تا در اجرای کوئری برای وضعیت کاربر سرعت بیشتری بهمون بده.

خوب دوستان عزیز برای این مطلب ساختار دیتابیس رو معرفی و کمی بررسی کردیم و انشالله در مطلب بعدی میریم سراغ ساختار فایل های پروژه و بعدشم شروع بع کد نویسی توابع و کد های لازم.

comment دیدگاه کاربران
mehdi563

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

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

لقمان آوند

امیدواریم .
متاسفانه بدلیل مشغول بودن پروژه ی کاری نمی پذیرم شخصا .
عذرخواهی می کنم .

REZATAKRO

pdf نداره چرا ؟

کیوان علی محمدی

باید داشته باشه.

علی

وقتی می خوام فایل sql که قرار دادین برای دانلود رو در database قرار بدم (import کنم) این error رو میده.

Error

SQL query:


— Database: `cms`

CREATE DATABASE IF NOT EXISTS `cms` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci;

MySQL said: Documentation
#1044 – Access denied for user ‘p30hosti’@’localhost’ to database ‘cms’

باید چی کار کنم ؟

وحید صالحی

یوزری که تعریف کردید مشکل داره یک یوزر جدید با بالاترین سطح دستزسی ایجاد کنید

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

Notice: Undefined index: admin in D:\xampp\htdocs\CMS\inc\db.php on line 3

Notice: Undefined index: alimoodi4542 in D:\xampp\htdocs\CMS\inc\db.php on line 3

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\xampp\htdocs\CMS\inc\db.php on line 3

خانه

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\CMS\inc\functions.php on line 137

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in D:\xampp\htdocs\CMS\index.php on line 34
اخرین مطالب

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in D:\xampp\htdocs\CMS\index.php on line 61

بعد فایل های استایل دهی رو از کجا باید چک کنیم ؟

http://mohajeranifard.ir/php/

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

amir baragy

سلام استاد
میشه در مورد این دو تا خط کد یه کم توضیح بدین. و اینکه دلیل این کار چی هست؟

1- /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */

2- SET time_zone = “+00:00”

کار برد دستور SET چیست و در چه مواقعی (در کجاها ) باید از آن استفاده کرد؟

استاد! منظور از این دو (دش) — چی هست؟ و کارشان چی هست؟ مثل این خط زیر
— Database: `cms_w`

سپاس فراوان

کیوان علی محمدی

دوست عزیز این کدها رو خود mysql برای dump کردن جدول ها ایجاد میکنه و یکسری متغییر ها برای اجرای اسکریپت تعریف میکنه.

amir baragy

استاد
در چه مواقعی از کلمه کلیدی KEY استفاده میکنیم؟
1- KEY `comment_user_id`

آیا key با index فرق میکنه؟

تشکر

کیوان علی محمدی

تفاوتی ندارن دوست عزیز. اینها مترادف هستند

احسان مرادی

سلام . من تازه شروع کردم به یاد گیری این آموزش وقتی دیتابیس رو میسازم مشکلی به وجود نمیاد فقط این ارور رو دریافت میکنم
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www\CMS\inc\db.php on line 3

از PDO هم که استفاده میکنم در کد های دیگر فایل ها ارور دریافت میکنم . لطفا راهنمایی کنید .

وحید صالحی

دوست عزیز این دوره منسوخ شده و پشتیبانی نمیشه

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2