• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش اطلاعات دو جدول جوین شده با یک روش خاص
#1
سلام خدمت دوستان

ببینید من دو تا جدول دارم یکی برند و یکی موبایل فیلد مشترک این دو تا brand_id هست حالا من یک جوین گرفتم :
کد:
        $allmobile = $this->Mobile->query(
         "SELECT * FROM mobile JOIN brands ON mobile.brand_id = brands.brand_id ORDER BY mobile.brand_id" );

اگر من تو جدول برند دو تا برند داشته باشم : ال جی -> 1 و سامسونگ -> 2

و مثلا از آی دی 1 (ال جی) تو جدول موبایل 3 مدل گوشی ثبت کرده باشم و از آی دی 2 10 مدل می خوام موقع چاپ مدل های گوشی اول شروع برند با آی دی 1 کلمه ال جی رو چاپ کند و بعد از اینکه 3 مدل ال جی تموم شد کلمه سامسونگ رو چاپ کنه و در ادامه مدل هاس سامسونگ

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


فایل‌های پیوست تصاویر بندانگشتی
   
  پاسخ
تشکر شده توسط :
#2
سلام
یک متغییر ایجاد کنید id برند را نگه داره $id و قبل از حلقه مقدارش را برابر 0 قرار بدید
داخل حلقه بررسی کنید اگر مقدار $id با مقدار id برند متغییر نتیجه یکی بود که هیچ
اگر یکی نبود یک عنوان چاپ کنه و مقدار $id را هم آپدیت کنید تا در دور دیگه تا رسیدن به گروه جدید چیزی چاپ نشه
  پاسخ
تشکر شده توسط : mostafaf
#3
(۱۳۹۳ دى ۲۱, ۰۳:۰۳ ب.ظ)saeideng نوشته: سلام
یک متغییر ایجاد کنید id برند را نگه داره $id و قبل از حلقه مقدارش را برابر 0 قرار بدید
داخل حلقه بررسی کنید اگر مقدار $id با مقدار id برند متغییر نتیجه یکی بود که هیچ
اگر یکی نبود یک عنوان چاپ کنه و مقدار $id را هم آپدیت کنید تا در دور دیگه تا رسیدن به گروه جدید چیزی چاپ نشه

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

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

نمی دونم تونستم منظورم رو درست بگم یا نه


(۱۳۹۳ دى ۲۱, ۰۳:۰۳ ب.ظ)saeideng نوشته: سلام
یک متغییر ایجاد کنید id برند را نگه داره $id و قبل از حلقه مقدارش را برابر 0 قرار بدید
داخل حلقه بررسی کنید اگر مقدار $id با مقدار id برند متغییر نتیجه یکی بود که هیچ
اگر یکی نبود یک عنوان چاپ کنه و مقدار $id را هم آپدیت کنید تا در دور دیگه تا رسیدن به گروه جدید چیزی چاپ نشه

البته راهی که گفتین اگر آی دی برندها پشت سر هم نباشن اشتباه نمایش می ده باید آی دی برندها 1.2.3.4.5.6.... باشه اگر بشه 1.3.6.8.9.10 .... اشتباه داره تو نمایش


حل شد
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان