محسن مشهدی 0 ارسال شده در دی 91 سلام من چندی پیش مشکلی رو در انجمن مطرح کردم و یکی از دوستان راهنمایی کرد اما: من مشکلم هنوز حل نشده توضیح میدم و امیدوارم دوستان راهنمایی بفرماین این کد من هست: <?php $user =& JFactory::getUser(); $userid =$user->id; $db =& JFactory::getDBO(); $sql = "SELECT * FROM #__community_users WHERE userid=$userid"; $db->setQuery($sql); $result = $db->loadObjectList(); if ($result[0]->profile_id == 2){ echo "بیمار" ; }else{ echo $totalfriends ; } ?> انتخاب جدول اس کیو الم درسته و همینو می خوام کد PHP: $sql = "SELECT * FROM #__community_users و دقیقا هم همین شرط رو می خوام کد PHP: if ($result[0]->profile_id == 2){ echo "بیمار" ; }else{ echo $totalfriends ; } اما کد من که در ابتدا عرض کردم برا زمانی هست که یه کاربر وارد سایت میشه و این کدها عمل میکنه من می خوام اصلا ربطی نداشته باشه که کی هست می خوام هر کاربری از بیرون هم (یعنی بدون لاگین) که به این جا رسید شرط من برقرار باشه در واقع من فک میکنم این کد میگه اگه کاربری با یه ای دی وارد شد و پروفایل ای دی 2 داشت شرط اول و اگر یه کاربر وارد شد و پروفایل ای دی 1 داشت شرط دوم برقرار شه که اینو من نمی خوام . من می خوام بگم اگه کسی صفحه مربوط به کاربری رو دید که در جدول اس کیو ال پروفایل ای دی 2 بهش اختصاص داده شده بود شرط اول برقرار باشه با تشکر نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رامین انگوتی 583 ارسال شده در دی 91 سلام دوست عزیز شما میگین قسمت دوم شرطتون (else) برای کاربر با id==1 کار میکنه ولی اینطور نیست، این قسمت برای هر کاربری که id != 2 باشه اجرا خواهد شد در ضمن برای هر قسمتی که میخوایید در هر حالت اجرا بشه کافیه شرط نذارید، در این صورت در هر حالت اجرا خواهد شد نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
محسن مشهدی 0 ارسال شده در دی 91 سلام دوست عزیز شما میگین قسمت دوم شرطتون (else) برای کاربر با id==1 کار میکنه ولی اینطور نیست، این قسمت برای هر کاربری که id != 2 باشه اجرا خواهد شد در ضمن برای هر قسمتی که میخوایید در هر حالت اجرا بشه کافیه شرط نذارید، در این صورت در هر حالت اجرا خواهد شد ممنونم از پاشختون اما منظور من این نیست شاید بد توضیح دادم ببینین من از جومشویال استفاده می کنم و کاربران رو به دو گروه تقسیم کردم که هر کدوم پروفایل ای دی خودشون رو دارن. حالا من می خوام اگه کسی رفت پروفایل کاربران گروه اول رو دید با کاربران گروه دو متفاوت باشه. این مسئله نمی خوام حتما کاربر وارد بشه بعد این اتفاق بیافته . می خوام هرکسی که جستجو کرد و پروفایل کاربر رو دید این اتفاق بیافته بعنوان مثال : وقتی شما این کاربر رو می بینیند : http://www.designer20.ir/site/salamat/index.php/%D8%AF%D8%A7%DB%8C%D8%B1%D9%87-%D8%B3%D9%84%D8%A7%D9%85%D8%AA/43-/profile با پروفایل این کاربر متفاوت باشه: http://www.designer20.ir/site/salamat/index.php/%D8%AF%D8%A7%DB%8C%D8%B1%D9%87-%D8%B3%D9%84%D8%A7%D9%85%D8%AA/44-/profile نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رامین انگوتی 583 ارسال شده در دی 91 خب شما مبفرمایید کاربران گروه اول و گروه دوم، شما کاربران گروه اول و گروه دوم رو با چه مشخصه ای از هم متمایز کردین؟ بعنوان مثال: فرض کنید کاربران شما یه فیلد دارند مثل Group که نوعشون رو مشخص میکنه در این حالت شما باید توی شرطتون، Group برای کاربران رو بررسی کنید مثال: if($user['Group'] == "گروه اول") دستورات مربوط به گروه اول else if($user['Group'] == "گروه دوم") دستورات مربوط به گروه دوم درحالت کلی باید یه فیلد متمایز کردن کاربران باید موجود باشه، سپس از طریق اون بررسی کنید موفق باشید نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
محسن مشهدی 0 ارسال شده در دی 91 خب شما مبفرمایید کاربران گروه اول و گروه دوم، شما کاربران گروه اول و گروه دوم رو با چه مشخصه ای از هم متمایز کردین؟ بعنوان مثال: فرض کنید کاربران شما یه فیلد دارند مثل Group که نوعشون رو مشخص میکنه در این حالت شما باید توی شرطتون، Group برای کاربران رو بررسی کنید مثال: if($user['Group'] == "گروه اول") دستورات مربوط به گروه اول else if($user['Group'] == "گروه دوم") دستورات مربوط به گروه دوم درحالت کلی باید یه فیلد متمایز کردن کاربران باید موجود باشه، سپس از طریق اون بررسی کنید موفق باشید با profile_id مجزا شدن یعنی در دیتابیس در جدول #__community_users فیلد profile_id وجود داره که کاربران یا profilr_id=1 هستن یا ==2 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رامین انگوتی 583 ارسال شده در دی 91 خب حالا سه حالت داریم 1 - دستوراتی رو میخوایید برای گروه های با id==2 اجرا کنید که میشه این شرط: if($userid == 2) دستورات... 2- دستوراتی رو میخوایید برای گروه های با id==1 اجرا کنید که میشه این شرط: if($userid == 1) دستورات... منظور از $userid همون فیلد جداکننده هستش 3- دستوراتی رو میخوایید برای تمام کاربران اجرا کنید، در این حالت نیاز به شرط نیست و دستورات خودتون رو بدون شرط قرار بدین تا برای تمام گروه ها اجرا بشه موفق باشید نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
محسن مشهدی 0 ارسال شده در دی 91 خب حالا سه حالت داریم 1 - دستوراتی رو میخوایید برای گروه های با id==2 اجرا کنید که میشه این شرط: if($userid == 2) دستورات... 2- دستوراتی رو میخوایید برای گروه های با id==1 اجرا کنید که میشه این شرط: if($userid == 1) دستورات... منظور از $userid همون فیلد جداکننده هستش 3- دستوراتی رو میخوایید برای تمام کاربران اجرا کنید، در این حالت نیاز به شرط نیست و دستورات خودتون رو بدون شرط قرار بدین تا برای تمام گروه ها اجرا بشه موفق باشید ممنون از اینکه پاسخ میدین اما من با شرط مشکلی ندارم اون اتصالی که باید به دیتابیس بشه و این فیلد رو بتونه تشخیص بده سوالمه که تو پست اول عرض کردم . شرط من ایرادی نداره حتی همون کد پست اول برای من کار میکنه اما اشتباه کار میکنه . اشتباه از اینرو که کاربر با profile_id ==2 اگه لاگین بشه شرط انجام میشهاگر براتون مقدوره اصلا یه اموزشی بفرمایید که چطور به دیتابیس وصل و یک جدول انتخاب و شرط که اگر در یکی از ستون ها مقدار مشخصی بود رفتار متفاوت نمایش داده بشه بازم ممنون از شما دوست خوب نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
رامین انگوتی 583 ارسال شده در دی 91 خب تکه کدی که تو پست اولتون گذاشتید اطلاعات رو میتونه از یه جدول بخونه در مورد شرط هم که فرمودین مشکلی ندارین، با فیلد مربوطه بررسی میکنید دیگه چیزی برای گفتن نمیمونه دوست من! نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر