راکت
مشکات
مشکات
5 سال پیش توسط مشکات مطرح شد
15 پاسخ

نمایش اتاق ها در لاراول

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

الان در قسمت بالای اتاق ها نام و لینک مربوط به اتاق اول قرار داره بطور ثابت
ولی من میخوام روی هرکدام از اتاق ها کلیک میکنم اطلاعات مربوط به اون اتاق بالا بیاد

ممنون میشم راهنماییم کنید🌺☘️🙏


ثبت پرسش جدید
سبحان مولایی
سبحان مولایی
تخصص : برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@websaz5 سال پیشمطرح شد
-1

سلام یا باید از javascript استفاده کنید یا لایووایر.


مشکات
مشکات
تخصص :کاراموز
@meshkat3155 سال پیشمطرح شد
-3

@websaz
میشه بیشتر راهنماییم کنید
یا اینکه لطفا میتونید کمکم کنید که چی سرچ کنم برای رسیدن به این جواب


علیرضا کفایتی
علیرضا کفایتی
تخصص :برنامه نویس laravel, vue.js
@alirezakefayati5 سال پیشمطرح شد
0

سلام
باید از جاوااسکریپت (ترجیحا برای سادگی جی کوئری) یا لایو وایر و یا ajax استفاده کنید ...!


سبحان مولایی
سبحان مولایی
تخصص : برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@websaz5 سال پیشمطرح شد
-2

مستندات لایووایر و اگر هم به دوره لایووایر راکت دسترسی دارید می توانید استفاده کنید. چون بسیار از js راحتر هست


سبحان مولایی
سبحان مولایی
تخصص : برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@websaz5 سال پیشمطرح شد
-1

شما باید یک component درست کنید و عملیات مورد نظر را انجام بدید


علیرضا کفایتی
علیرضا کفایتی
تخصص :برنامه نویس laravel, vue.js
@alirezakefayati5 سال پیشمطرح شد
0

یک راهش همونطور که فرمودند اینه که بعد از کلیک بر روی اتاق درخواست ارسال بشه و مثلا اون تگ p که اطلاعات رو نمایش میده بر اساس اطلاعات دریافت شده آپدیت بشه ، که با لایو وایر و ajax قابل پیاده سازی است .
یک راه دیگه هم اینه که با بیاد همه اطلاعات همه اتاق ها رو به صورت جداگانه همون اول دریافت کنید و بریزیر هر کدام را داخل یک تگ p ، حالا با جاوااسکریپت بگید اگر مثلا روی اون div کلیک شد تگ p نمایش داده بشه که مثلا هم id اون هست .

امیدوارم واضح گفته باشم


مشکات
مشکات
تخصص :کاراموز
@meshkat3155 سال پیشمطرح شد
-2

@websaz
@gomnam
خییییلی سخته
اگر میدونستم چی باید سرچ کنم انقدر سرچ میکردم تا به جواب برسم


سبحان مولایی
سبحان مولایی
تخصص : برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
@websaz5 سال پیشمطرح شد
0

فکر نمی کنم با یه سرچ ساده مشکلتون حل بشه. شما باید مفاهیم جاواسکریپت مربوط به درخواستهای ajax و روش استفاده از اون رو بدونید.
livewire و vuejs و Jquery ابزارهای این کار هستند.


امیر علی
امیر علی
تخصص :طراح و توسعه دهنده fullstack
@ajdar96675 سال پیشمطرح شد
0

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


امیر علی
امیر علی
تخصص :طراح و توسعه دهنده fullstack
@ajdar96675 سال پیشمطرح شد
0

اگر از vue یا ajax نمیخای استفاده کنی بهترین کار اونی هست ک گفتم


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza665 سال پیشمطرح شد
2

بصوت ساده برات با جی کوئری توضیح بدم ، پیشرفته ترش هم میشه با نکاتی که دوستان گفتند انجام بدی

به اون قسمتی که میخوای نام Room رو بنویسه یک ایدی میدی به فرض من نوشتم room
و یک فاکشن مینویسی که نام room رو بگیره و به اون قسمتی که میخوای نام room نمایش بده append یا value رو تغییر میدی
و برای دگمه هات هم یک رویداد onclick مینویسی که فاکشن رو کال کنه و نام room خودش رو بهش پاس بده


//room name
<label id="room"></label>

<button type="button" onclick="selectRoom(1)">Room 1</button>
<button type="button" onclick="selectRoom(2)">Room 2</button>
<button type="button" onclick="selectRoom(3)">Room 3</button>

function selectRoom(value){

    $("#room").val(value);

    //or

    $("#room").empty();
    $("#room").append(value);

    //or

    $("#room").text(value);

}

مشکات
مشکات
تخصص :کاراموز
@meshkat3155 سال پیشمطرح شد
0

@juza66
سلام
واقعا ممنونم ازتون آقاسید
ممنون ک وقت گذاشتید
الان این کد رو نوشتم
اما مشکلی که هست اینه که به من آیدی رو نشون میده نه اسم اتاق رو😥


  <p class="ml-4" id="room">
                                Name:  {{$room->name}}
                            </p>

 <button type="button" class="btn btn-outline-dark" onclick="selectRoom({{$room->id}})" >
                                        {{$room->name}}
                                    </button>
                                    <script>
                                        function selectRoom(value){

                                            $("#room").val(value);

                                            //or

                                            $("#room").empty();
                                            $("#room").append(value);

                                            //or

                                            $("#room").text(value);

                                        }
                                    </script>


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza665 سال پیشمطرح شد
0

<button type="button" class="btn btn-outline-dark" onclick="selectRoom({{$room->id}})" >

اینجا توی رویداد onclick شما آیدی $room->id اتاق رو دادین => بجاش نام اتاق رو بدین


مشکات
مشکات
تخصص :کاراموز
@meshkat3155 سال پیشمطرح شد
0

@juza66

وقتی nameرو میذارم این ارور رو میده

Route::get('/', function (){
//    dd(auth()->user());
//    dd(auth()->check());
//    $rooms=Room::orderby('id' , 'desc')->get();
//    return view('index',compact('rooms'));
//    $room=Room::where('id', 7)->get($room=>name);
    $rooms=Room::where(function ($query){
        return $query->where("user_id",Auth::id());
    })->get();
//    simplepaginate(9);

    //To display the first room on each page
    $room=Room::first();
    return view('index',compact('rooms' , 'room' ));

ایراد از این روتم نیست؟


Muhammad
Muhammad
تخصص :Back-End Developer
@muhammad5 سال پیشمطرح شد
1

سلام. همه‌چی رو خیلی پیچیده کردین. حتی خط 7 تا 9 کد که میشه اینطوری باشه:

Room::where('user_id', Auth::id())->get();

یه روت api بنویسین برای گرفتن اطلاعات اتاق‌ها. یه روت بنویسین برای گرفتن اطلاعات یه اتاق مشخص. داخل ویو هم کد جاواسکریپت دارین که به محض لودشدن صفحه، لیست کل اتاق‌هارو بگیره. توی رویداد مربوط به کلیک روی باکس هر اتاق (فرضا یه class دادیم) روت دوم رو فراخوانی کنه و اطلاعاتی که توی ریسپانس برگشته رو جایی که می‌خوایین بذاره.

این‌هارو سرچ کنین:
jquery ajax get
jquery onClick
jquery $(document).ready
jquery html() method


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

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