หน้า 1 จากทั้งหมด 2

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 26/10/2020 4:32 pm
โดย makup
mindphp เขียน: 25/10/2020 7:28 pm List box แต่ละตัวต้อง ใช้ชื่อต่างๆ กัน

โค้ด: เลือกทั้งหมด

<select name="name" id="name">  
tag สร้าง form ไม่ต้องวน loop
ส่วนของค้นหา ควรมี form เดียว และควรตั้งชื่อ form ด้วย

โค้ด: เลือกทั้งหมด

      *** 
  @foreach($flight as $flights)
     <form class="" method="get" action="/searchAirflight/search">
  @endforeach

ค่าที่เอามาค้นหา ต้องเอามาจาก form ที่ส่งแบบ get เพื่อไปล้างค่า url ที่ถูกค้นไปก่อนหน้านั้น
การล้างค่า URL นั้น , ต้องใช้ Function unset() ในการล้างค่า , แล้วเราสามารถสร้างปุ่มขึ้นมา เพื่อทำการเคลียร์ค่า URL ที่ถูกส่งมาจาก Form get ได้หรือเปล่าครัล

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 26/10/2020 6:02 pm
โดย mindphp
แค่กดปุ่ม ค้นหาใหม่ ระบบก็จะส่งค่าใหม่ ไปตาม url ใหม่ให้อยู่แล้ว ไม่จำเป็นต้อง unset()
form แบบ get ถูกส่งผ่าน query string ค่าที่นำไปใช้ เป็นค่าใหม่ ที่คนคลิกปุ่มค้นหา เข้ามา
Input object และการส่งค่าแบบ get
viewtopic.php?p=25030#p25030

ส่วนของค้นหา ควรมี form เดียว และควรตั้งชื่อ form ด้วย
mindphp เขียน: 25/10/2020 7:28 pm List box แต่ละตัวต้อง ใช้ชื่อต่างๆ กัน

โค้ด: เลือกทั้งหมด

<select name="name" id="name">  
tag สร้าง form ไม่ต้องวน loop
ส่วนของค้นหา ควรมี form เดียว และควรตั้งชื่อ form ด้วย

โค้ด: เลือกทั้งหมด

      *** 
  @foreach($flight as $flights)
     <form class="" method="get" action="/searchAirflight/search">
  @endforeach

ค่าที่เอามาค้นหา ต้องเอามาจาก form ที่ส่งแบบ get เพื่อไปล้างค่า url ที่ถูกค้นไปก่อนหน้านั้น

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 26/10/2020 7:15 pm
โดย makup
mindphp เขียน: 26/10/2020 6:02 pm แค่กดปุ่ม ค้นหาใหม่ ระบบก็จะส่งค่าใหม่ ไปตาม url ใหม่ให้อยู่แล้ว ไม่จำเป็นต้อง unset()
form แบบ get ถูกส่งผ่าน query string ค่าที่นำไปใช้ เป็นค่าใหม่ ที่คนคลิกปุ่มค้นหา เข้ามา
Input object และการส่งค่าแบบ get
viewtopic.php?p=25030#p25030

ส่วนของค้นหา ควรมี form เดียว และควรตั้งชื่อ form ด้วย
mindphp เขียน: 25/10/2020 7:28 pm List box แต่ละตัวต้อง ใช้ชื่อต่างๆ กัน

โค้ด: เลือกทั้งหมด

<select name="name" id="name">  
tag สร้าง form ไม่ต้องวน loop
ส่วนของค้นหา ควรมี form เดียว และควรตั้งชื่อ form ด้วย

โค้ด: เลือกทั้งหมด

      *** 
  @foreach($flight as $flights)
     <form class="" method="get" action="/searchAirflight/search">
  @endforeach

ค่าที่เอามาค้นหา ต้องเอามาจาก form ที่ส่งแบบ get เพื่อไปล้างค่า url ที่ถูกค้นไปก่อนหน้านั้น
รับทราบครับ

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 28/10/2020 1:15 pm
โดย mindphp
ปัญหานี้เป็นไง บ้าง

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 28/10/2020 4:06 pm
โดย makup
mindphp เขียน: 28/10/2020 1:15 pm ปัญหานี้เป็นไง บ้าง
1. ทำการกดเลือก listbox สนามบินดอนเมือง ,
2. แล้วกดปุ่มค้นหาไป
3. จะวิ่งไปทำงานที่ action="/searchAirflight/search" ใน Form ของ File showAirflight.blade.php

โค้ด: เลือกทั้งหมด

<form class="" method="get" name="search" action="/searchAirflight/search">

        <tr>
          <th scope="col">ลำดับ</th>
          <th scope="col">
             <select name="name" id="name"  >

      <option value="0" selected="selected">---- เลือกทั้งหมด ----</option>
      
      @foreach($searchflight as $searchflights)
      <option value="{{$searchflights->id_airport}}"> {{$searchflights->airport['name']}} </option>
      @endforeach
     
    </select>
4. ตรงนี้คือ route ของ action="/searchAirflight/search" , มีการวิ่งไปทำงาน Controller_show_airflight แล้ววิ่งไปที่ Function index

โค้ด: เลือกทั้งหมด

Route::get('/searchAirflight/search', 'Controller_show_airflight@index');
5.ส่วนตรงนี้คือ route ไว้โชว์ข้อมูลในตาราง showAirflight

โค้ด: เลือกทั้งหมด

Route::get('/showAirflight','Controller_show_airflight@index');
6.ตรงนี้คือ Controller_show_airflight , แล้วเข้าไปดู code Function index

โค้ด: เลือกทั้งหมด

 public function index(Request $request)
    {
      $name = $request->name;
      

      $searchflight = Airflight::where('id_airport','=','{$name}')->paginate(2);
      $searchflight =  Airflight::paginate(6);
           
        return view('showAirflight')
        ->with('searchflight',$searchflight)
        ->with('flight',Airflight::paginate(6))
        ->with('airport',Airport::all())
        ->with('airline',Airline::all())
        ;
    }
7.ผลลัพธ์ที่ได้
ติดปัญหา ตรง : ค้นหาข้อมูลแล้ว , ไม่เกิดการเปลี่ยนอะไรทั้งสิ้น , หมายถึงค้นหาข้อมูลไม่เจอ หรือ ไม่แสดงผล
Programming - PHP-1.png
Programming - PHP-1.png (32.38 KiB) Viewed 940 times
สรุปคือ
ต้องการให้วิ่งส่งค่าข้อมูลที่ต้องการค้นหาไปหน้าเดียวกัน

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 28/10/2020 8:02 pm
โดย mindphp
ต้องการให้วิ่งส่งค่าข้อมูลที่ต้องการค้นหาไปหน้าเดียวกัน
หมายถึงอะไร

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 29/10/2020 10:27 am
โดย mindphp
ติดปัญหา ส่วนไหน ยกส่วนนั้นมาเป็นคำถาม

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 29/10/2020 10:40 am
โดย makup
mindphp เขียน: 28/10/2020 8:02 pm
ต้องการให้วิ่งส่งค่าข้อมูลที่ต้องการค้นหาไปหน้าเดียวกัน
หมายถึงอะไร
ตอนนี้เหลือให้โชว์ข้อมูลค้างใน lisbox ครับ เหลือแค่ปัญหาเดียวครับ แต่ติดปัญหาตรงที่ว่า , เมื่อมีการโยนค่าตัวแปร $flight->id เข้าไปเปรียบเทียบใน if ว่าตรงกันกับ airports->id ไหม
115.jpg
115.jpg (59.21 KiB) Viewed 920 times

โค้ด: เลือกทั้งหมด

<form class="" method="get" name="search" action="/searchAirflight/search">

        <tr>
          <th scope="col">ลำดับ</th>
          <th scope="col">
             <select name="name" id="name"  >

      <option value="0" selected="selected">---- เลือกทั้งหมด ----</option>
      <?php $number = 1; ?>
  
      @foreach($airport as $airports)
      <option value="{{$airports->id}} " {{ ( $airports->id == $flight_path->id) ? 'selected' : '' }}
      >{{$number}}<?php echo ".";?>{{$airports->name}} </option>
      <?php $number++; ?>
      @endforeach
    
    </select>


            <br><br>ชื่อที่ตั้งสนามบิน</th>
          <th scope="col">

            <select name="name_airline" id="name_airline">
      <option value="0" selected="selected">---- เลือกทั้งหมด ----</option>
       <?php $number = 1; ?>
     @foreach($airline as $airlines)
      <option value="{{$airlines->id}}">{{$number}}<?php echo ".";?>{{$airlines->name_airline}}</option>
      <?php $number++; ?>  
      @endforeach
    </select>

            <br><br>ชื่อสายการบิน</th>
          <th scope="col">

             <select name="path" id="path">
      <option value="0" selected="selected">---- เลือกทั้งหมด ----</option>
      <?php $number = 1; ?>
     @foreach($flight_path as $flight_paths)
      <option value="{{$flight_paths->path}}"
    >{{$number}}<?php echo ".";?>{{$flight_paths->path}}</option>
    <?php $number++; ?>  
      @endforeach
    </select>

            <br><br>เส้นทางการบิน</th>
          <th scope="col">วันที่</th>
          <th scope="col">เวลาออกเดินทาง</th>
          <th scope="col">ราคา</th>
          <th scope="col">รุ่นเครื่องบิน</th>
          <th scope="col">แก้ไข</th>
          <th scope="col">

              <button type="submit" name="submit" class="btn btn-primary" name="submit">ค้นหา</button>
            <br><br>ลบ</th>
        </tr>
        </form>      
      </thead>
      <tbody>
เกิด Error ขึ้นมา ในหน้าแสดงข้อมูลของตารางเที่ยวบินครับ , โดยที่ยังไม่ได้กดปุ่มค้นหา
116.JPG

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 29/10/2020 10:46 am
โดย mindphp
ตัวที่ วงแดง เอามาจากไหน
ลงโค้ดส่วนที่ส่งค่ามาให้ดูด้วยซิครับ แค่ในส่วน template ยังช่วยไม่ได้

Re: ติดปัญหาการค้นหาข้อมูล Listbox ให้เลือกค่าเก่าค้างไว้

โพสต์แล้ว: 29/10/2020 11:01 am
โดย makup
mindphp เขียน: 29/10/2020 10:46 am ตัวที่ วงแดง เอามาจากไหน
ลงโค้ดส่วนที่ส่งค่ามาให้ดูด้วยซิครับ แค่ในส่วน template ยังช่วยไม่ได้
มาจาก function index() ครับ , จาก Controller_show_Airflight.php

โค้ด: เลือกทั้งหมด

 public function index()
    {
        
       
        return view('showAirflight')->with('flight',Airflight::paginate(8))
        ->with('airport',Airport::all())
        ->with('airline',Airline::all())
        ->with('flight_path',Airflight::all())
        
        ;
    }