2017-10-09 4 views
0

Dies ist mein erstes Mal versucht, die mySQL-Datenbank zu filtern und zu durchsuchen. Aus meinen Recherchen habe ich herausgefunden, dass ich einen AJAX-Aufruf und eine PHP-Abfrage benötige, die mir helfen, die Filterung zu erreichen, die ich erreichen möchte.Laravel - Fähigkeit, Datenbank mit AJAX zu filtern

Dies ist, was ich die AJAX Suche machen wollen: eine Schaltfläche Übernehmen

  • haben. Wenn ich auf die Schaltfläche klicke, wird eine URL generiert und der AJAX-Aufruf ausgelöst.
  • Laden Sie nur einen Teil der Seite neu, auf der die abgefragten Daten enthalten sind.

Bisher habe ich es geschafft, dies zu schaffen:

$("#filteridname").change(function() { 
    $value=$(this).val(); 
     $.ajax({ 
     type: "get", 
     url: "{{$myurl}}", 
     data: {'search':$value}, 
     success: function(data){ 
      $('#data-holder').html(data); 
     } 
    }); 
}); 

Dieser verwaltet die URL eines der Filter zu schaffen, aber es nicht die anderen Filter berücksichtigen. Ich habe es auch nicht geschafft, den Button zu erstellen. Ich nehme an, Sie würden eine where Anweisung in der PHP benötigen, um die Datenbank zu filtern?

Wäre jemand bereit, mir bei der Erstellung der AJAX-Aufruf und PHP-Abfrage für die Filter zu helfen?

Insgesamt habe ich drei Filter, und wenn ich auf eine Schaltfläche klicke, möchte ich einen AJAX-Aufruf, um meine Datenbank mit den drei Filtern zu filtern und die Ergebnisse zurückzusenden, ohne die gesamte Webseite neu laden zu müssen.

EDIT: Hier ist meine JS AJAX-Abfrage:

$("#apply").click(function() { 
    $country=$('#filter-country').val(); 
    $type=$('#filter-type').val(); 
    $year=$('#filter-year').val(); 
    $.ajax({ 
     type: "GET", 
     url: "{{$launchsitename->site_code}}", 
     data: {'country':$country, 'type':$type, 'year':$year}, 
     success: function(data) { 
      $('#data-holder').append(data); 
     } 
    }); 
}); 

Jetzt brauche ich nur eine PHP-Abfrage zu erstellen.

Antwort

0

können Sie proprietary.Append() anstelle von .html() verwenden, auch hier erhalten Sie einen Elementwert bei Änderung, wenn Sie die drei von ihnen mit einem Klick erhalten möchten, können Sie es zu machen Auf die gleiche Weise, dass Sie das val der ersten, und fügen Sie es nur auf die Anfrage und behandeln sie zurück in PHP zu teilen und Ausführen jeder oder einfach die drei an Ihre Prozedur übergeben, hängt davon ab, was Sie haben

$("#filteridname").change(function() { 
     $value=$(this).val(); 
      $.ajax({ 
      type: "get", 
      url: "{{$myurl}}", 
      data: {'search':$value}, 
      success: function(response){ 
       $('#data-holder').append(response); 
      } 
     }); 
    }); 

Read about .append()

+0

vielen Dank ich habe hinzugefügt, dass in. Jetzt filtern, um die URL ich muss nur die PHP-Abfrage erstellen. – spacetravel

+0

Gut zu helfen. Wenn diese Antwort zur Lösung Ihres Problems beigetragen hat, stellen Sie sicher, dass Sie sie akzeptieren. – Tobi