Armin Rahmati
3 سال پیش توسط Armin Rahmati مطرح شد
4 پاسخ

غیرفعال کردن radio

سلام دوستان.
من یه وب سایت نوبتدهی دارم، قسمتی که بیمار میخواد از دکتر نوبت بگیره به صورت زیر است:
توضیح تصویر رو وارد کنید

حالا میخوام زمانی که کاربر مثلا روز یکشنبه ساعت 8 نوبت گرفت، ساعت 8 غیر فعال بشه و به همین ترتیب و در آخر مثلا زمانی که تمام ساعت های روز یکشنبه ثبت شد، هم روز یکشنبه غیرفعال بشه و هم ساعت هاش و اگر کاربر روز سه شنبه رو انتخاب کرد، ساعت هایی که رزرو نشده فعال باشن.
همچنین به عنوان مثال زمانی که کاربر ساعت 8 روز یکشنبه نوبت گرفت، ساعت 8 غیر فعال بشه و ساعت 8 فردا مجدد فعال بشه، در واقع هر کدوم از ساعت ها که غیر فعال شد، روز بعد ساعت 8 مجدد فعال بشه.
این کارو چطور باید انجام بدم؟


ثبت پرسش جدید
سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 3 سال پیش مطرح شد
0

@arminrahmati999
سلام

یک راه ساده اینه که شما ساعتهای رزرو شده رو تو دیتابیس ذخیره کنی و در هر لحظه اونها رو از دیتابیس بگیری و اگر اون تایم در دیتابیس با اون تاریخ ثبت شده بود تگ html رو غیر فعال کنی


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 3 سال پیش مطرح شد
0

درود من باشم دو تا جدول میسازم یکی به نام دکتر - یکی دیگه به نام زمان دکتر ( مثلا چنین چیزهایی دو تا جدول تصور کن)
توی جدول زمان دکتر - هر سطرش این موارد رو میزنم (ستون هاش صرف نظر از جزئیات)
تاریخ - لیست
توی تاریخ ، تاریخ اون روز و توی لیست یک در واقع یک ارایه میسازم که 24 تا خونه داره و هر کدوم رو میشه با موارد boolean ( true or false) مقدار دهی کرد
البته بهتره که کلا یک ارایه باشه و هر ارایه خونش خودش یک لیست باشه که اگه true بود یعنی پر شده و در کنارش id اون فرد رو هم ثبت کنیم که زمان رو رزرور کرده یعنی اینطوری تقریبا :

$timeDoctor= { 1 : [] , 2 : , 3 : ...... };

توی اسکیما برای تعریف دیتابیس این کار رو با تابع default برای هر سطر انجام بده . زمانی که سطح ایجاد شد - مقدار لازم رو اپیدیت کن.
همچنین توی مدل این جدول باید $casts رو برای این فیلد به درستی ست کنی


Armin Rahmati
@arminrahmati999 3 سال پیش مطرح شد
0

@sina.it91
امکانش هست کدشو بهم بگین؟
من خودم در مدل user، کد زیر رو نوشتم ولی وقتی نوبت رو ثبت میکنم، ساعت و روز مخفی میشه.

public function checkTurns($doctor) {
        return !! Turn::where('user_id' , $this->id)->where('doctor_id' , $doctor->id)->first();
    }
<form action="/doctor/turn" method="POST">
                                            @if(auth()->user()->checkTurns($doctor))
                                                <h6 class="pull-right">ساعت حضور:
                                                    <hr>
                                                    @foreach(json_decode($doctor->presentHours) as $time)
                                                        <input type="radio" value="{{$time}}"
                                                               name="presentHours"> {{ $time }}
                                                    @endforeach
                                                </h6>
                                                <hr>
                                                <h6 class="pull-right">روز حضور:
                                                    <hr>
                                                    <x-days days='{!! $doctor->presentDays !!}' type="radio"/>
                                                </h6>
                                                <hr>
                                            @endif
                                            <div class="form-group row col-4">
                                                <div class="col">
                                                    <label class="form-check-label">حضوری</label>
                                                    <input type="radio" class="form-check-input" name="type"
                                                           value="hozori" checked="">
                                                </div>
                                                <div class="col">
                                                    <label class="form-check-label">آنلاین</label>
                                                    <input type="radio" class="form-check-input" name="type"
                                                           value="online">
                                                </div>
                                                <div class="col">
                                                    <label class="form-check-label">تلفنی</label>
                                                    <input type="radio" class="form-check-input" name="type"
                                                           value="phone">
                                                </div>
                                            </div>
                                            {{ csrf_field() }}
                                            <input type="hidden" name="doctor_id" value="{{ $doctor->id }}">
                                            <button type="submit" class="btn btn-success pull-right activation"
                                                    onload="enable()">دریافت نوبت
                                            </button>
                                        </form>

@mohsen.mehri6101
اگه راه ساده تری هست اونو بگین، چیزی که شما فرمودین درسته ولی من در این پروژه نمیخوام واسه این کار از 2 جدول استفاده کنم.
اگه با یه جدول میشه ممنون میشم بهم بگین.


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 3 سال پیش مطرح شد
0

والله من که از کدهات چیزی سر در نیاوردم - کد هم نشون نده- اینجا ما در مورد دیتابیس و نحوه ذخیره و ثبت اطلاعات صحبت میکنیم
بحث الان تعریف سناریویه - نه کد زدن - اول سعی کن سناریو رو تعریف کنی بعد.
راه ساده تری نداره عزیز - باید یک جدول در نظر بگیری که به user هات یا همون دکترات منظورمه که متصل شده باشه و توش ساعت های معاینه رو ذخیره کنی
حالا توی اون جدول چطوری دوست داری ذخیره کنی با خودته
دوباره میگم من باشم یک جدول به نام " زمان دکتر" میسازم توش به ازای هر روز اون دکتر یک سطر رو ذخیره میکنم.که توش دو تا فیلد داره
یکی تاریخ اون روز -یکی یک لیسته که شامل ساعت و نام اون شخصیه که اون ساعت باید بیاد ( که البته اینم استاندارد نیست و این قسمتش هم یک جدول جداگانه میخاد ها- راه استاندارد ترش باز اینه که به ازای هر روز دکتر توی این فیلد - یک جدول دیگه داشته باشیم که 24 تا خونه ( یا اگه هر نیم ساعت به یکی یک ویزیت میدی 48 تا یا .... ) که توش ایدی اون شخص ثبت شده)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام