• illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید با دوره های آموزشی سون لرن می توانید از 0 تا 100 طراحی وب را در منزل فراگیرید!

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

14959 ۸ اسفند ۹۲

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

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

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

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

جدول posts

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

 

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

جدول comments

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

 

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

جدول pages

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

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

 جدول users

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

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

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 32 دیدگاه برای این مطلب ارسال شده است. نظردهی برای این مطلب بسته شده است .

  • ‏‏

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

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

    • ‏‏
      لقمان آوند(۹ شهریور ۱۳۹۳)

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

  • ‏‏
    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 هم که استفاده میکنم در کد های دیگر فایل ها ارور دریافت میکنم . لطفا راهنمایی کنید .

    • ‏‏
      وحید صالحی(۲۱ آبان ۱۳۹۵)

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

  • ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram