PDA

View Full Version : آموزش استفاده از تبلیغات نوتیفیکیشن در برنامه به صورت شخصی بدون استفاده از سیستم parse



iman0111
چهارشنبه 16 اردیبهشت 1394, 13:58 عصر
سلام عرض میکنم به همه ی کاربران خوب انجمن امیدوارم که همیشه خوب باشین و از همینجا برای همگی آرزوی موفقیت و خرسندی دارم
با توجه به اینکه امروزه تبلیغات نقش عظیم و شگرفی رو در میزان موفقیت یک نرم افزار و شناخته شدن آن در سطوح بالا رو در بر گرفته تصمیم گرفتم که اموزش پیاده سازی این سیستم رو به صورت شخصی و بدون استفاده از سیستم parse که به نظر من دارای یکسری معایب هست رو تو این پست به شما آموزش بدم امیدوارم که شما عزیزان بتونید از این سیستم به نحو احسنت استفاده کنید



قبل از هرچیزی و قبل از اینکه بخوام آموزش رو شروع کنم جا داره که چند تا نکته رو در همین ابتدا ذکر کنم :

1_ چون قراره ما توی این آموزش یکسری اطلاعات مثل عنوان و متن نوتیفیکیشن و چند تا چیز دیگرو از سرور بگیریم پس شما عزیزان باید با یکی از زبان های تحت سرور این کار رو انجام بدین که رایج ترین این زبان ها می تونیم به (phpوasp.net) اشاره کنیم که در این آموزش ما با استفاده از ربان php کارمون رو پیش میبریم

2_برای اینکه بتونیم اطلاعاتی رو که میخواهیم توی نوتیفیکیشن نمایش بدیم رو به برنامه منتقل کنیم نیاز به یک پایگاه داده my_sql هست که در ادامه بهتون میگم چکار باید بکنید :لبخند:


خوب بریم سراغ آموزش


در مرحله ی اول چون ما قراره یه پایگاه داده داشته باشیم و یکسری مقدار مثل متن نوتیفیکیشن و یکسری مقادیر دیگه رو توش بریزیم تا بتونیم اون مقادیر رو از پایگاه داده به برنامه منتقل کنیم و اونجا ازش استفاده کنیم نیاز به یک هاست و اصطلاحا یک سرور هست و چون ما در ابتدا هاست و سروری نداریم باید یک هاست مجازی برای خودمون بسازیم تا بتونیم فایل رابطی رو که قراره با زبون php برای ارتباط با دیتا بیس بنویسیم رو اجرا کنیم و برای ساخت یک هاست مجازی باید از یکسری نرم افزار خاص که این امکان رو بهمون میدن استفاده کنیم که از جمله بهترین نرم افزار هایی که تو این حوضه برای ویندوز وجود دارن نرم افزار wampserver هستش که نرم افزار واقعا حرفه و خوبی هستش که حتی امکان ساخت پایگاه داده رو هم بهمون میده
خوب اول نرم افزار wamp server رو از لینک رو به رو دریافت کنید : لینک (http://p30download.com/fa/entry/37584/)
بعد از این کار شما باید این نرم افزار رو روی سیستمتون نصب کنید که باز نصب نرم افزار دارای یکسری قواعدی هست که شما میتونید آموزش نصب واستفاده از این نرم افزار رو در لینک رو به رو مشاهده کنید و بعد از نصب به سراغ ادامه آموزش بیاین : لینک (http://www.kakohost.com/learn/show/%D8%A2%D9%85%D9%88%D8%B2%D8%B4_%D8%AA%D8%B5%D9%88% DB%8C%D8%B1%DB%8C_%D9%86%D8%B5%D8%A8_%D9%88_%D9%86 %D8%AD%D9%88%D9%87_%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7 _%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1 _WampServer/id-7)

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

شما وقتی که نرم افزار wamp رو نصب و اونو اجرا میکنید ایکون اون توی نوار پایین صفحه به نمایش درمیاد که به شکل ایکون اصلی نرم افزار هم هست و شما باید صبر کنید تا این ایکون به رنگ سبز در بیاد (نکته : اگر ایکون نرم افزار به رنگ سبز در نیامد ممکن است شما مراحل نصب نرم افزار رو اشتباه رفته باشین که در این صورت باید یکباره دیگه نصب رو انجام بدین ) بعد از اینکه ایکون به رنگ سبز در اومد بر روی اون کلیک کنید و از لیست ظاهر شده گزینه ی php myadmin رو انتخاب کنید و بعد مراحل رو به این صورت پیش ببرین :

وقتی شما گزینه phpmyadmin رو انتخاب کردین یک صفحه به صورت زیر براتون به نمایش در میاد که قسمت های اصلی اون توی تصویر توضیح داده شده

130946

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


130939

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

نامی هم که من برای دیتابیسم انتخاب کردم notification هست که شما میتونید از نام دلخواه خودتون استفاده کنید

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

130940

نامی که من برای جدول خودم انتخاب کردم parse هست شما میتونید از هر نامی که خواستید استفاده کنید فقط دقت کنید نامی که انتخاب می کنید هر چه کوتاه تر باشه بهتره
بعد از اینکه بر روی دکمه go کلیک کردین صفحه ای براتون ظاهر میشه که باید فیلد های جدولتون رو در این صفحه مشخص کنید
ما کلا برای این آموزش نیاز به 5 تا فیلد در جدولمون داریم که یک فیلد به اسم Id هست که همیشه بهتره که این فیلد رو به عنوان کلید اصلی داشته باشین
و خاصیت autoincrement این فیلد رو هم فعال کنید این خاصیت به ما این امکان رو میده که وقتی ما داده جدیدی در جدول ثبت میکنیم شماره ی فیلد id به صورت خودکار تغییر کنه یعنی اگه ما رکوردی در جدول نداشته باشیم و قصد داشته باشیم که اطلاعاتی در جدول درج کنیم بعد از اینکه ما اطلاعات رو در جدول درج کردیم اگه این خاصیت برای فیلد id فعال شده باشه جدول به صورت اتومات مقدار 1 رو به ایدی میده یا مثلا اگه یه رکورد در دیتابیس داشته باشیم و یه رکورد دیگه به اون اضافه کنیم شماره فیلد id به صورت اتومات 2 میشه و همینجور تا آخر و دیگه نیاز نیست که ما خودمون فیلد ایدی رو مقدار بدیم

خوب فیلدهای جدول رو دقیقا طبق تصویر زیر پر کنید به این نکته توجه کنید که من از حروف بزرگ برای نام فیلدم استفاده کردم


130941

توی این تصویر ما 5 تا فیلد درست کردیم که هر فیلد مربوط به یک قسمت است که توضیحات فیلد ها در پایین دکر میشوند
*******
فیلد ایدی یک فیلد یکتا هست و برای جلوگیری از بوجود اومدن خطا در دیتابیس به اون نیاز داریم
فیلد PERMISION در واقع اجازه دسترسی نمایش نوتیفیکیشن هست که برامون این دسترسی رو مشخص میکنه
فیلد SUBJECT متن نوتیفیکیشن رو مشخص میکنه
فیلد BODY متن بدنه ی نوتیفیکیشن رو مشخص میکنه
و فیلد URL هم ادرسی هست که وقتی کاربر بر روی نوتیفیکیشن کلیک میکنه برنامه ما رو به اون ادرس هدایت میکنه مثلا به یکی از نر م افزار هامون در کافه بازار یا هر ادرس دیگه ای

حالا توضیحات هر قسمت
قسمت یک که همون فیلد هامون است و ما نام فیلد هامون رو توی اون قرار میدیم
قسمت دو توی این قسمت هم نوع هر فیلد رو مشخص میکنیم که چه نوع مقداری رو دورن خودش ذخیره کنه
قسمت سه هم طول هر فیلد رو مشخص میکنیم یعنی براش تعین مینیم که تا چه حد حرف یا کاراکتر یا عدد رو بتونه در خودش ذخیره کنه مثلا اگه 5 بدیم یهنی اینکه مقداری که فیلدمون میتونه بگیره 5 حرف یا عدده که این حرف یا عدد بودنش بستگی به نوعی که برای دیتابیس انتخاب میکنیم داره و به طور کلی اگه بخوایم مقدار محمد حسین رو در درون این فیلد ذخیره کنیم بهمون این اجازه رو نمیده چون طول کلمه ی محمد حسین بیش از 5 تا هست
*****

برای انتخاب فیلد ایدی برای کلید اصلی و فعال سازی خاصیت auto increment هم توی همین پنجره به صورت زیر عمل کنید

130942
دقت داشته باشین توی قسمت NULL به جز فیلد ایدی تیک فیلد های رو دیگه رو بزنین چون ما فقط میخواهیم که فیلدی ایدی خالی نباشه تا در دیتابیش خطایی بوجود نیاد و همچنین توی قسمت INDEX هم طبق تصویرکلید اصلی که همان PRIMARYKEY هست رو فقط برای فیل ایدی در نظر بگیرین


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


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

iman0111
چهارشنبه 16 اردیبهشت 1394, 22:00 عصر
سلام مجدد به شما دوستان عزیز خوب میریم به سراغه ادامه ی آموزش در این قسمت ما قراره اطلاعاتی رو که قراره توی نوتیفیکیشن به نمایش بزاریم رو در دیتابیسی که در قسمت قبل اونو ساختیم بریزیم و از اون اطلاعات در برنامه استفاده کنیم برای این کار ابتدا شما به صورت دستی و به شکل زیر مقادیری رو در بر دیتابیس درج یا به اصطلاح insert کنید

برای اینکار بعد از این که نرم افزار wamp رو اجرا کردین و گزینه phpmyadmin رو انتخاب کردین در قسمت سمت چپ بر روی نام دیتابیسی که ساختید کلیک کنید بعد از اینکه روی نام دیتابیس کلیک کردین شما وارد صفحه ای به شکل زیر میشین

130969

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


130968
خوب حالا یه توضیح کوچک هم در مورد شکل بالا : فیلد PERMISION که مربوط به اجازه ی صدور نوتیفیکیشن هست و به این صورت که وقتی این فیلد مقدارش برابر 1 بود یعنی برنامه اجازه نمایش نوتیفیکیشن رو داره و هر وقت هم که مقدار 0 بود برنامه دیگه نوتیفیکیشن رو نمایش نمیده که ما در بالا برای تست مقدار فیلد رو برابر 1 قرار دادیم تا نوتیفیکیشن رو به نمایش بزاریم

فیلد دو و سه هم که دیگه مشخصه عنوان و بدنه ی نوتیفیکیشن یا در واقع همون متنی هست که وقتی یه نوتیفیکیشن نمایش داده میشه شما اون متن ها رو میبینید
فیلد URL هم یک ادرس اینترنتی هست که مشخص میکنه زمانی که کاربر بر روی نوتیفیکیشن کلیک کرد چه اتفاقی بیفته که ما در بالا ادرس سایت برنامه نویس
WWW.BARNAMENEVIS.ORG (http://WWW.BARNAMENEVIS.ORG) رو به فیلد نسبت دادیم تا وقتی که نوتیفیکیشن رو نمایش دادیم و شما روی اون کلیک میکنید سایت برنامه نویس باز بشه.




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


شاید خیلی از دوستان با سینتکس زبان PHP اشنایی نداشته باشن پس من اینجا یه توضیح خیلی مختصر در مورد زبان PHP براتون میدم که حساب کار دست تون بیاد

خوب اول چنتا موضوع اساسی رو براتون همین اول کار روشن کنم


1- برای شروع به کد نویسی کردن با زبان PHP چند تا اصل مهم هست که باید به اون دقت زیادی داشته باشین

اول اینکه تمام دستورات PHP باید بین دو تگ زیر قرار بگیرن


<?php


دستورات مورد نظر


?>

دوم : توی زبان PHP تمام متغیر ها با یک علامت $ در ابتدای آن ها تعریف میشوند و چیزی هم به اسم نوع متغیر نداریم و نوع یک متغیر زمانی مشخص می شود که ما به اون مقداری رو نسبت بدیم و همچنین نام گذاری متغیر ها هم یکسری اصولی دارد از جمله اینکه شما نمیتونید از نماد ها در نام متغیر استفاده کنید یا اینکه بین حروف نامی که برای متغیر در نظر گرفته اید فاصله وجود داشته باشد که در اون صورت موجب خطا می شود شکل کلی تعریف متغیر :

$ EXAMPLE_NAME = VALUE;

مثال :

$NAME = "IMAN";

در مثال بالا مشاهده میکنید که هیچ نوعی برای متغیر در نظر گرفته نشده است وچون مقداری که به متغیر نسبت دادیم یک مقدار رشته ایست پس سیستم به صورت خودکار این متغیر رو از نوع STRING میشناسه یا اگه مثلا به جای رشته ایمان من یک عدد رو به متغیر نسبت میدادم سیستم این متغیر رو به صورت INT شناسایی میکرد پس به این نکته توجه داشته باشین که توی زبان PHP نوع یک متغیر زمانی مشخص میشه که ما به اون مقداری رو نسبت بدیم


خوب حالا بریم سرغ چنتا دستور MYSQL

ارتباط با دیتابیسی که ساختیم : برای استفاده از مقادیر درون دیتابیس ابتدا باید به اون متصل بشیم برای اتصال به دیتابیس باید به صورت زیر عمل کنید

$connect = mysql_connect('localhost','root','');

خوب در قظعه کد بالا ما از دستور MYSQL_CONNECT برای ارتباط با دیتابیسمون استفاده میکنیم به این صورت که این دستور رو در یک متغیری به اسم CONNECT ریخته ایم تا از اون برای ارتباظ با دیتابیسمون استفاده کنیم دستور MYSQL_CONNECT همونطور که در بالا هم مشاهده می کنید 3 تا ورودی ازمون دریافت میکنه که این توضیحات این 3 وردی به شرح زیره


localhost : در واقع این کلمه ادرس همون میزبانی هست که دیتابیس روی اون قرار داره که این ادرس برای نرم افزار wamp به شکل ثابت localhost تعریف شده در صورتی که برای یک هاست واقعی باید از چیز دیگه ای استفاده کرد که در ادامه توضیح میدم


root : کلمه ی روت در واقع یوزری هست که به دیتابیس نسبت داده شده یعنی در واقع یوزر نیم دیتابیسمون هست که توی نرم افزار wamp به صورت ثابت از کلمه root برای یوزر نیم دیتابیس استفاده میشه و در هاست واقعی به گونه ی دیگه ای که در ادامه توضیح میدم

' ': این قسمت هم در واقع پسورد دیتابیسمون هست که چون توی نرم افزار wamp هیچ پسوردی برای دیتابیس وجود نداره پس توی اون مقداری وارد نمیکنیم و اونو به همین صورت خالی مینویسیم البته این فقط برای نرم افزار wamp هست و بر روی هاست واقعی شما میتونید برای دیتابیستئن یک پسورد در نظر بگیرین و توی کادر بالا اونو وارد کنید که در ادامه بیشتر راجبش توضیح میدم



انتخاب دیتابیس : برای اینکه بتونیم از دیتابیسمون استفاده کنیم باید بعد از اینکه بهش وصل شدیم اونو انتخاب کنیم که برای انتخاب دیتابیس به شکل زیر عمل می کنیم

$select_db = mysql_select_db('notification',$connect);

دستور اس کیو ال mysql_select_db برای انتخاب دیتابیس به کار میره که اون رو به شکل بالا تعریف و توی یک متغیر به اسم select_db ریخته ایم همونطور که در بالا هم می بینید این دستور هم 2 تا ورودی از ما دریافت میکنه که شرح این ورودی ها به صورت زیره

ورودی اول که شما کلمه ی notification رو هم در اون میبینید مربوط میشه به اسم دیتابیس و کلمه ی notification هم که داخل اونه اسم دیتابیس منه که من اونجا وارد کردم و شما باید به جای اون اسم دیتابیس خودتون رو هر چی که هست وارد کنید


ورودی دوم هم اسم همون متغیری هست که در بالا برای اتصال به دیتابیس از اون استفاده کردیم و یه مقدار اس کیو الی رو برای متصل شدن به دیتابیس داخلش ریختیم که اسم $connect بود



خوب برای این قسمت هم تا همینجا کافیه و بقیه موارد هم به زودی ...

انچه که تا الان یاد گرفتیم


<?php
//برای ارتباط با دیتابیس و سرور از این از mysql_connect
//استفاده می کنیم
$connect = mysql_connect('localhost','root','');

//برای انتخاب وبرقراری ارتباط با دیتابیس از mysql_select_db
//استفاده میکنیم
$select_db = mysql_select_db('notification',$connect);
?>

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

C:\wamp\www

و بعد به همون صورتی که phpmyadmin رو میاودین و در بالا توضیح دادم به همون صورت هم روی ایکون wamp در پایین صحه کلیک کنید و به جای phpmyadmin اینبار گزینه ی localhost رو انتخاب کنید و بعد با پنجره ای که طاهر میشه فایلتون رو اجرا کنید

موفق باشین تا بعد بدرود

roboman78
چهارشنبه 16 اردیبهشت 1394, 23:01 عصر
ماشالا
تنها کاری که میتونم بکنم فشردن دکمه ی تشکره:تشویق::تشویق::تشویق::ت ویق:

sara.nikzadeh
چهارشنبه 16 اردیبهشت 1394, 23:24 عصر
با تشکر فراوان و خسته نباشی خدمت شما دوست عزیز

iman0111
پنج شنبه 17 اردیبهشت 1394, 22:13 عصر
سلام به همگی با قسمت سوم اموزش در خدمتتون هستم امیدوارم که تا اینجای اموزش رو به خوبی مطالعه کرده باشین تا توی این قسمت از اموزش که قراره یکسری مطالب جدیدتر رو اینجا برای شما عزیزان توضیح بدم به مشکل برنخورید و بتونیم پا به پای هم تا انتهای این اموزش پیش بریم

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

و دوم هم اینکه با توجه به درخواست یکی از دوستان من از دیتابیس خودم یه خروجی تهیه کردم که اونو اینجا میرزارم تا عزیزان دیگه زحمت دیتابیس ساختن رو هم نداشته باشن و فقط این دیتابیس رو توی برنامه وارد یا به اصطلاح import کنند و از اون استفاده کنید و مرحله به مرحله تا انتهای اموزش با ما همراه باشین
شما میتونید این خروجی رو از لینک رو به رو دانلود کنید : لینک دانلود (http://bayanbox.ir/info/7744970787481793318/notification)

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

توی قسمت های قبل ما یاد گرفتیم که چطور از نرم افزار wamp استفاده کنیم تا بتونیم یه دیتابیس ایجاد کنیم و همچنین یاد گرفتیم که چطوری این دیتابیس رو مقدار دهی کنیم و داده توی اون وارد کنیم از همه مهم تر ما با بخشی از ساختار زبان php اشنا شدیم و فهمیدیم که چطور از دستورات mysql برای ارتباط با دیتابیسمون استفاده کنیم خوب در اینجا من میخوام چنتا دستور mysql دیگه رو که لازمه کارمون هست براتون شرح بدم تا یکم با کاربرد های این دستورات بیشتر اشناتون کنم


ادامه ی دستورات mysql

نحوه ی انتخاب و برداشتن مقادیر از توی دیتابیس (اشنایی با دستور select در mysql ):

خوب در اینجا میخوام شما رو بادستور select اشنا بکنم و به شما نحوه ی استفاده از این دستور رو بگم

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

ساختار دستور select :

ساختار کلی این دستور به صورت زیره
select فیلدمورد نظر from نام جدول where شرط مورد نظر

خوب شما در بالا ساختار دستور select رو میبینید که اگه بخوام توضیحات فارسی شو هم براتون بگم که کلا این دستور داره چی میگه و قصد و هدفش چی هست فقط میتونم بگم که این دستور داره میگه : انتخاب کن فلان چیز رو از فلان جدول با این شرط که فلان فیلدش چیزی که من بهت میگم باشه

خوب حالا نحوه ی استفاده از این دستور در زبان php : همونطور که شما هم در بالا مشاهده میکنید این دستور مجموعه ای از رشته های پشت سر همه که تشکیل یه خط کد رو داده و به دلیل اینکه این دستور فقط یک عملی هست که ما برای اعمال شدنش روی دیتابیس وانجام یه کار خاص اونو نوشتیم و در اصل به تنهایی هیچ کاری برامون انجام نمیده و قدرت اجرایی خودسرانه رو نداره و میتونم بگم که در نقش یه سربازه و بدون اجازه مافوقش نمیتونه هیچ کاری بکنه پس باید که اون بزاریم بین یه جفت کوتیشن تا بعد به کمک مافوقش اونو اجرا کنیم و ازش استفاده کنیم یعنی به صورت زیر :

"select فیلدمورد نظر from نام جدول where شرط مورد نظر"

خوب حالا بریم سروقت دستور mysql_query :

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

mysql_query(رابطی برای وصل شدن به دیتابیس , عملیات مورد نظر);

خوب میبینید که این دستور دوتا وردوی ازمون میگیره که توضیحاتش به این شکله

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

ورودی دوم هم که مربوط میشه به همون رابطی که در اموزش قبلی برای اتصال به دیتابیس نوشتیم که باید اون رو به جای ورودی دوم قرار بدیم


شکل کلی تا اینجا :



mysql_query("select داده ی مورد نظر from نام جدول where شرط مورد نظر",$connect);


خوب اگه تا الان داشتم ساختار دستور عملیاتی select و ساختار دستور اجراییmysql رو جز به جز واستون توضیح میدادم به خاطر این بود که شما رو به این قسمت از اموزش هدایت کنم تا در اینجا بتونیم مفهوم کلی رو بهتر درک کنید :

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


به این خط توجه کنید :

$sql= mysql_query("select * from parse where ID = 1",$connect);

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

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

کلمه ی parse هم در واقع اسم جدولی هست که من توی دیتابیسم اونو به اسم parse نام گذاری کردم و شما باید به جای اون نام جدول خودتون رو قرار بدین

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

دستور mysql_fetch_array :

این دستور برای ما تمام داده های که در بالا مشخص کردیم رو جمع اوری و اونارو در قالب یه ارایه بهمون تحویل میده که به طور کلی یه ورودی از ما دریافت میکنه که مربوط میشه به همون ساختار انتخابی که در بالا تعریف کردیم تا داده ها رو برامون از جدول بخونه و اونو توی یه متغیر به اسم sql ریختیم که حالا برای اینکه بتونیم کل اطلاعات رو به شکل یه ارایه داشته باشیم از دستور mysql_fetch_array به شکل زیر استفاده میکنیم

******مهم **********

$row = mysql_fetch_array($sql)

توی خط بالا شما میبینید که ما چطور از دستور mysql_fetch_array استفاده کردیم تا داده های جدول رو به صورت یه ارایه داشته باشیم
خوب حالا توضیحات این خط کد :

اول یه ارایه تعریف کردیم به اسم row تا دادهایی که دستورmysql_fetch_array بهمون میده رو تو اون بریزیم اما شما به این نکته دقت داشته باشین که ساختار ارایه در php به این صورت نیست و در واقع چیزی که ما در بالا به اسم row تعریف کردیم یک متغیره اما چون اطلاعاتی که mysql_fetch_array بهمون میده در قالب ارایه هست php خودش اونو به صورت ارایه میشناسه اون sql$ هم درواقه همون متغیری هست که در بالا تعریف کردیم و قرار بود برامون عملیات انتخاب از جدول رو انجام بده که در بالا براتون گفتم که دستور mysql_fetch_array اونو به صورت یه ورودی دریافت میکنه تا بتونه به وسیله اون به داده ها دسترسی داشته باشه

ساختار ارایه در php :

به طور کلی ما در زبان php به شکل زیر میتونیم یه آرایه بوجود بیاریم

$array_name = array('value1','value2','value3',.......'valueX');

همونطور که در قطعه کد بالا میبینید ما یه ارایه تعریف کردیم که توضیحاتش به شرح زیره :

نکته : در تعریف ارایه هم مث تعریف متغیر باید از علامت $ در ابتدای نام ان استفاده کنیم
نکته : در زبان php هم مانند زبان جاوا اندیس ارایه از 0 شروع میشود

به مثال زیر توجه کنید :

$names_pack = array('IMAN','ALI','HOSSEIN','SHAHIN');

خوب در مثال بالا من یک ارایه به اسم names_pack با 4 تا مقدار ایجاد کردم و باتوجه به اینکه اندیس ارایه از 0 شروع میشه ارایه دارای 3 تا اندیس هست یعنی اندیس 0 = IMAN ........اندیس1 = ALI .........اندیس 2 = HOSEEIN و اندیس 3 = SHAHIN


ارایه های انجمنی : این نوع ارایه ها ارایه هایی هستند که میتونونیم به اونها مقداری رو نسبت بدیم و برای هر مقدار درون ارایه یک کلید در نظر بگیریم

مثال :

$names_pack = array('IMAN'=>19,'ALI'=>18,'HOSSEIN'=>16,'SHAHIN'=>20);

خوب اگه دقت کنید خط بالا ساختار یک ارایه انجمنی رو نشون میده که ما میتوینم به همین شکل برای هر مقذار یک کلید در نظر بگیریم مثلا من برای مقدار IMAN کلید 19 رو که نشون دهنده سن اون هست مشخص کردم و برای بقیه مقاذیر هم به همین صورت

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


انچه که تا الان یاد گرفتیم :


<?php
//header('Content-Type: application/json; charset=utf-8');
//برای ارتباط با دیتابیس و سرور از این از mysql_connect
//استفاده می کنیم
$connect = mysql_connect('localhost','root','');
//برای انتخاب وبرقراری ارتباط با دیتابیس از mysql_select_db
//استفاده میکنیم
$select_db = mysql_select_db('db_notification',$connect);
//برای نوشتن کوِیری های مربوط به دیتابیس از mysql_query
//استفاده میکنیم
$sql= mysql_query("select * from tbl_parse where ID = 1",$connect);
//برای بدست آوردن مقادیر یک جدول از دستور mysql_fetch_array
//استفاده میکنیم این دستور رکورد های دیتابیس را در قالب یک آرایه به ما بر میگرداند
$row = mysql_fetch_array($sql);
//ساختار یک ارایه در زبان php
$array_name = array('value1','value2','value3',.......'valueX');
?>

موفق باشین تا بعد بدرود:لبخندساده:

hosseinaryai
دوشنبه 21 اردیبهشت 1394, 16:16 عصر
اوومممم .. آموزش تموم شد الان ؟!! :متفکر::لبخند:

iman0111
سه شنبه 22 اردیبهشت 1394, 12:50 عصر
سلام دوستان اول از همه جا داره به خاطر این چن وقت تاخیری که در روند آموزش پیش اومده ازتون عذر خواهی کنم درواقه باید این مطلب رو به شما بگم که به دلیل اینکه من دانشجو هستم و الان هم این چند وقت امتحان های درس های تخصصیم همگی شروع شدن و همچنین اینکه روی یکی از درس ها یکی از اساتید محترم یه پروژه ای رو به من دادن که من هم باید تا چن روز دیگه اونو تکمیل و به ایشون تحویل بدم پس بنابراین شاید نتونم دیگه زود زود اموزش ها رو ادامه بدم اما با این حساب تمام سعیم رو میکنم تا این اموزش رو هر چه سریع تر با هم جمع کنیم

خوب ما در قسمت های قبل یاد گرفتیم که چطور با پایگاه داده ارتباط برقرار کنیم و چطور از اون داده برداریم و یا اینکه چطور تمام فیلد های پایگاه داده رو در قالب یه ارایه بگیریم و همچنین با نحوه ی تعریف ارایه اشنا شدیم
در این جلسه ما قراره که اطلاعاتی رو که در دیتابیس ذخیره کردیم به صورت یه رشته ی جیسون بر روی صفحه چا÷ کنیم تا بعذ بتونیم از اون در برنامه استفاده کنیم و با استفاده از یک کلاس جیسون پارس اطلاعات رو به رشته تبدیل کنیم و اونو در نوتیفیکیشن مورد استفاده قرار بدیم

خوب جا داره که من اینجا یک بار دیگه کد های رو که در سری قبل برای شما توضیحش رو دادم اینجا قرار بدم تا هم یه یاداوری باشه برای تازه کردن مطالب هم یه زمینه ای باشه برای درک مطالب جدید

<?php
//header('Content-Type: application/json; charset=utf-8');
//برای ارتباط با دیتابیس و سرور از این از mysql_connect
//استفاده می کنیم
$connect = mysql_connect('localhost','root','');
//برای انتخاب وبرقراری ارتباط با دیتابیس از mysql_select_db
//استفاده میکنیم
$select_db = mysql_select_db('db_notification',$connect);
//برای نوشتن کوِیری های مربوط به دیتابیس از mysql_query
//استفاده میکنیم
$sql= mysql_query("select * from tbl_parse where ID = 1",$connect);
//برای بدست آوردن مقادیر یک جدول از دستور mysql_fetch_array
//استفاده میکنیم این دستور رکورد های دیتابیس را در قالب یک آرایه به ما بر میگرداند
$row = mysql_fetch_array($sql);
//ساختار یک ارایه در زبان php
$array_name = array('value1','value2','value3',.......'valueX');
?>




حالا میریم سراغ ادامه اموزش

نمایش اطلاعات در صفحه (چاپ اطلاعات) : دستور print ,echo
در زبان php ما به دو صورت میتونیم اطلاعاتی رو بر روی صفحه چاپ کنیم و اون رو بر روی صفحه نمایش بدیم روش اول که با استفاده از دستور print هست و ساختارش هم به صورت زیره

چاپ یک رشته به صورت مستقیم :

print "this is a sample text";
در خط بالا رشته ی this is a sample text به صورت مستقیم بر روی صفحه چاپ میشود

چاپ مقدار رشتهای درون یه متغیر:

$text="this is a sample text";
print $text;


در خط بالا مقدار رشته ای ذخیره شده در متغیر text بر روی صفحه چاپ میشود

دستور echo هم دقیق به همین شکله فقط شما باید به جای کلمه ی print از echo استفاده کنید

مبحث حلقه ها

حلقه های متعددی در زبان php وجود دارند که از جمله مهمترین و پرکاربدترین ان ها میتوان به حلقه های for , foreach ,while اشاره کرد که ما در اینجا به توضیح مختصری در مورد این حلقه ها می پردازیم

حلقه ی for : حلقه ی for در php دقیقا هماند زبان جاوا و خیلی ارز زبان های دیگس اما با یه تفاوت خیلی کوچیک و مهم

دقت کنید :


for($i=0;$i<20;$i++)
{
echo $i;
}


خوب شما در قطعه کد بالا ساختار حلقه for را در زبان php مشاهده میکنید که از لحاظ ساختار شبیه به زبان جاواس اما اگه به نحوه ی تعریف متغیر i دران دقت کنید میبینید که ما در اینجا چیزی به اسم int دیگه نداریم و این به خاطر همون موضوعی هست که در جلسات قبل براتون گفتم و اونم این بود که تمام متغیر ها در php با علامت $ شروع میشن و نوعی هم به اون ها نمیچسبه و نوع یک متغیر وقتی که مقداری در ان میریزیم مشخص میشه خوب تنها نکتشم همین بود و دیگه چیز خاص دیگه ای نداره و خروجی هم که قطعه کد بالا بهمون میده چاپ اعداد 1 تا 19 هستش که برامون روی صفحه چاپ میکنه

حلقه ی for each : این حلقه برای ما یکسری مقادیر موجود در یک بازه را در یه بازه دیگه به صورت ترتیبی میریزه و میتونیم از اون استفاده کنیم
مثال :
<?php
$names_pack = array('IMAN','ALI','HOSSEIN','SHAHIN');
foreach($names_pack as $print_values){
print $print_values;
}
?>
در مثال بالا مشاهده میکنید که من یه ارایه به اسم names_pack تعریف کردم که 4 تا مقدار در اون قرار داره حالا شما فرض کنید من بخوام تمام مقادیر این ارایه رو یجا چاپ کنم و بر روی صفحه نمایش بدم خوب مسلما این کار با دستورات echo یا print باید انجام بشه اما ایا با این دستورات میشه مقدار این ارایه رو به صورت یجا بر روی صفحه چاپ کرد خوب معلومه که نمیشه پس ما توی مثال امدیم از یه احلقه ی foreach استفاده کردیم که در واقع دو تا وردی هم ازمون گرفته که یه ورودی همون ارایه ای هست که در بالا تعریف کردیم و یه ورودی دیگه هم متغیری هست به نام print_values که در واقع ما با استفاده از احلقه ی foreach درهر بار گام حلقه و هر بار تکرار حلقه یک مقدار از ارایه name_packs رو در print_values میریزیم و سپس اون رو چاپ میکنیم

حلقه ی while :
این حلقه هم هماند حلقه ی while در زبان جاوا هستش که یه ورودی از ما دریافت میکنه و معمولا ورودیش هم یک شرطی هست که در واقع این شرط تعداد دفعات تکرار حلقمون رو مشخص میکنه و تا زمانی که اون شرط برقرار باشه لون حلقخهع به تکرار خوذش ادامه میده
مثال :
$names_pack = array('IMAN','ALI','HOSSEIN','SHAHIN');
$i=0;
while($print_values=$names_pack[$i])
{
print $print_values;
$i++;
}


اگه به تکه کد بالا دقت کنید می فهمید که این تکه کد مقادیر ارایه namepacks رو به صورت ترتیبی در درون یه متغیر به اسم print_values میریزه و بعد اون رو چاپ میکنه و اینکار رو تا زمانی انجام میده که بتوه مقادیری
رو که در ارایه هستند به درون متغیر منتقل کنه و سپس اونا رو چاپ کنه


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


************بحث اصلی **************

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


دقت کنید :



<?php
//برای ارتباط با دیتابیس و سرور از این از mysql_connect
//استفاده می کنیم
$connect = mysql_connect('localhost','root','');
//برای انتخاب وبرقراری ارتباط با دیتابیس از mysql_select_db
//استفاده میکنیم
$select_db = mysql_select_db('notification',$connect);
//برای نوشتن کوِیری های مربوط به دیتابیس از mysql_query
//استفاده میکنیم
$sql= mysql_query("select * from parse",$connect);
$count = mysql_num_rows($sql);
while($row = mysql_fetch_array($sql)){
$id = $row[0];
$permision = $row[1];
$subject = $row[2];
$body = $row[3];
$url = $row[4];
$app_name = $row[5];
//نسبت دهی وانتساب مقادیر درون ارایه
$posts[] = array('ID'=>$id,'PERMISION'=>$permision,'SUBJECT'=>$subject,'BODY'=>$body,'URL'=>$url,
'APP_NAME'=>$app_name);
}
$response['JSON : '] = $posts;
//برای چاپ مقادیر به صورت یک رشته ی json
echo (json_encode($response));


?>




خروجی این دستورات به صورت زیره :

131156

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



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

omid_cr77
جمعه 22 خرداد 1394, 13:09 عصر
داداش چی شد ادامش نمیاد؟

ali_72
شنبه 23 خرداد 1394, 07:36 صبح
سلام
با تشکر از مطلب بسیار خوبتون و لطف شما در ارائه توضیحات کامل

من وب کار هستم asp mvc کار میکنم
پروژه هایی داشتم که وب سرویس های اپلیکیشن موبایل رو آماده میکردم
و از 3 تکنولوژی پیشنهادی برای notification استفاده کردم
1- سیگنال آر
2- GCM
3-parse

تو هیچ کدوم ازاینا نیازی به ذخیره نوتیفیکیشن ها در پایگاه داده نداشتم
من تو اندروید تازه کار هستم
ممنون میشم راهنمایی کنید
دلیل ذخیره نوتیفیکیشن در پایگاه داده چیه و اینکه آیا در انتها notification real time سمت اندروید داریم؟

pbm_soy
سه شنبه 13 مرداد 1394, 19:20 عصر
خسته نباشید همه چیز گفتید به غیر از خود مطلب و یا اصل مطلب!!!

mehdilove09
سه شنبه 13 مرداد 1394, 19:38 عصر
ضمن تشکر به خاطر توضیحات دوستمون.
لاان 4 ماه هست که آموزش تموم نشده و خبری ازش نیست.
دوستان اگه کسی بلده بقیه رو آموزش بده.
اصل مطلب رو نگفت.

pesarecoder
پنج شنبه 16 مهر 1394, 13:19 عصر
ضمن تشکر به خاطر توضیحات دوستمون.
لاان 4 ماه هست که آموزش تموم نشده و خبری ازش نیست.
دوستان اگه کسی بلده بقیه رو آموزش بده.
اصل مطلب رو نگفت.


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

http://pushe.co

شاید به دردتون بخوره.

mehdilove09
پنج شنبه 16 مهر 1394, 17:12 عصر
من یه سرویس ایرانی برای ارسال نوتیفیکیشن پیدا کردم. جدیده. تا حالا که مشکلی نداشته.
خوبیش اینه که خیلی سادس و اصلا کد نویسی احتیاج نداره.

http://pushe.co

شاید به دردتون بخوره.

شما وقتی برنامه ای را در بازار منتشر می کنید شاید تا هفته اول 100 هزار نصب داشته باشد
و اگر بخواهید هر دفعه پیام ارسال کنید باید 40,000 هزار تومن پرداخت کنید.نمیصرفه .
من از پارسه استفاده می کنم و هر ثانیه می تونی پیام بدی که تا 1 میلیون نفر رایگانه بعدش به ازاء مقدار اضافی پول میگیره با صرفه تره.
دنبال استفاده از سرور شخصی هستم . مثل آموزش بالا

pesarecoder
شنبه 18 مهر 1394, 14:21 عصر
شما وقتی برنامه ای را در بازار منتشر می کنید شاید تا هفته اول 100 هزار نصب داشته باشد
و اگر بخواهید هر دفعه پیام ارسال کنید باید 40,000 هزار تومن پرداخت کنید.نمیصرفه .
من از پارسه استفاده می کنم و هر ثانیه می تونی پیام بدی که تا 1 میلیون نفر رایگانه بعدش به ازاء مقدار اضافی پول میگیره با صرفه تره.
دنبال استفاده از سرور شخصی هستم . مثل آموزش بالا


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

MrP.k
یک شنبه 19 مهر 1394, 09:09 صبح
سلام
دوستان من سیستم ارسال نوتیفیکیشن رو به صورت پکیجی پیاده سازی کردم
امکان ارسال تبلیغات به چند مدل (یکیش نوتیفیکیشن هست)
نوتیفیکیشن ها هم قابلیت تعیین رنگ برای زمینه و متن و موضوع میباشد و آیکن هم میگیرد
همچنین نوتیفیکیشنها قابلیت بنری بودن را دارند یعنی در عکسی را در سایزر بزرگتر در نوتیفیکیشن نمایش دهد ...
در قسمت کلاینت میتوانید کاربرانی تعریف کنید و آنها گزارش ارسال و دریافت و بازدهی تبلیغاتشان را ببینند
حتی گزارش تعداد نصب برنامه که بخاطر تبلیغ بوده را لحظه ای ببینند (برای اولین بار در ایران)
همچنین شما میتوانید یک وب سایت و یا یک صفحه اینستاگرام و ... را تبلیغ کنید
و امکانات بسیار زیاد دیگر
شما میتوانید بدون کد نویسی و تنها با قرار دادن یک فایل کتابخانه ای از این سیستم استفاده کنید
چند نمونه تصاویر به پیوست اضافه شده است

همچنین اگر میخواهید برنامه هاتون تعداد نصبش بیشتر بشه و فروشتون بالاتر بره میتونم براتون تبلیغات بفرستم که باعث رشد برنامه هاتون بشه
با نازلترین قیمت و بهترین بازدهی
http://www.sendnotify.ir
برای تماس با من بهم ایمیل بزنید
droidir@hotmail.com

hasanak852
چهارشنبه 23 مرداد 1398, 11:58 صبح
الآن مطلب به کجا رسید؟!!!
این بیشتر آموزش پی اچ پی و مای اس کیو ال بود تا آموزش پوش نوتیفیکیشن