PHP filtert und sortiert nach Mindestmenge

Ich habe eine Anzeigepaketseite mit PHP und MySQL erstellt. Es gibt 10 Tasten oben auf dem Tisch, um die Ausgabe neu zu filtern. Wie ich den Refilter gemacht habe, benutze $ _ GET ['command'] welches gleich ' AND lock_in_period =' 1yr ' ist. Ich habe versucht, $ _ GET ['command'] unter der Sitzung zu speichern, aber es funktioniert nicht. Das Problem ist jetzt, dass ich den minimalen Kreditbetrag nicht bekommen kann, um asc oder desc zu sortieren, nachdem ich die Ausgabe neu gefiltert habe.

Ausgabe

enter image description here

mysql-Abfrage:

if($property_type_search == 'HDB'){
    $find=mysql_query("SELECT*FROM package_creation WHERE property_type IN ('HDB','HDB,Private') $newcommand ORDER BY $columnname $order");
}

Schaltfläche zum Sortieren der Mindestbetragsmenge:


Filterschaltflächen:

<?php
session_start();
if($_GET['FC']=='1'){
header("location:rates_results.php?command=AND lock_in_period = 'N.A' AND interest_rate_type IN ('Floating Rate(Sibor/Sor Rate)','Floating Rate(Sibor Rate)')");
}
if($_GET['FC']=='2'){
header("location:rates_results.php?command=AND lock_in_period = '1yr' AND interest_rate_type IN ('Floating Rate(Sibor/Sor Rate)','Floating Rate(Sibor Rate)')");
}
if($_GET['FC']=='3'){
header("location:rates_results.php?command=AND lock_in_period = '2yrs' AND interest_rate_type IN ('Floating Rate(Sibor/Sor Rate)','Floating Rate(Sibor Rate)')");
}
if($_GET['FC']=='4'){
header("location:rates_results.php?command=AND lock_in_period = '3yrs' AND interest_rate_type IN ('Floating Rate(Sibor/Sor Rate)','Floating Rate(Sibor Rate)')");
}
if($_GET['FC']=='5'){
header("location:rates_results.php?command=AND yrs_of_fixed_rate = '1yr' AND interest_rate_type = 'Fixed Rate'");
}
if($_GET['FC']=='6'){
header("location:rates_results.php?command=AND yrs_of_fixed_rate = '2yrs' AND interest_rate_type = 'Fixed Rate'");
}
if($_GET['FC']=='7'){
header("location:rates_results.php?command=AND yrs_of_fixed_rate = '3yrs' AND interest_rate_type = 'Fixed Rate'");
}
if($_GET['FC']=='8'){
header("location:rates_results.php?command=AND yrs_of_fixed_rate = '4yrs' AND interest_rate_type = 'Fixed Rate'");
}
if($_GET['FC']=='9'){
header("location:rates_results.php?command=AND yrs_of_fixed_rate = '5yrs' AND interest_rate_type = 'Fixed Rate'");
}
if($_GET['FC']=='10'){
header("location:rates_results.php?command=AND installation_mode IN ('Saving offset interest','Interest and Principle,Saving offset interest','Interest only, Saving offset interest','Interest and Principle,Interest only,Saving offset interest')");
}
?>

in mysql-Abfrage injizieren:

$columnname ="";
if($_GET['columnname']){
$columnname = $_GET['columnname'];  
}

if($columnname==""){
$columnname="first_year";   
}
if($order==""){
$order = "desc";    
}
$order=$_GET['sort'];

$newcommand = "";
if($_GET['command'] !=""){
$newcommand = $_GET['command']; 
}
0
hinzugefügt bearbeitet
Ansichten: 1
Ich denke immer noch an einen Weg, das auch zu lösen.
hinzugefügt der Autor Psinyee, Quelle
Wie übermittelst du $ _ GET ['sort'] an deine Suchanfrage? Beachten Sie auch, dass $ _ GET ['command'] für SQL-Injection-Angriffe weit offen ist
hinzugefügt der Autor Clancy Hood, Quelle
Sie setzen $ order auf $ _ GET ['order'] (Sie sehen nicht, woher diese Variable kommt) und überschreiben sie dann mit $ _ GET [' sort '] . Besser vielleicht $ order = (isset ($ _ GET ['sort']) && $ _GET ['sort'])? $ _GET ['sort']: 'desc'; - Obwohl dies Ihr Problem möglicherweise nicht löst, ist es weniger anfällig für Fehler.
hinzugefügt der Autor Clancy Hood, Quelle

1 Antworten

Überprüfen Sie dieses LOC -

command=$_GET['command'] and make it as command=<?php echo $_GET['command'] ?>
0
hinzugefügt
@Psinyee ohh okk lass mich das überprüfen
hinzugefügt der Autor swapnesh, Quelle
@Psinyee sind Sie sicher, Header-URLs funktionieren ordnungsgemäß? Verwenden Sie Ausgang; Nach header() und lassen Sie mich wissen, wenn es Ihr Problem löst oder nicht ..analisieren Sie die Daten, bevor Sie eine Abfrage an die db
hinzugefügt der Autor swapnesh, Quelle
@Psinyee verschwinden oder Kein Wert ???? Welchen Fehler wirft er, welche URL bildet er und was ist deine gewünschte URL? Ich denke, dass Sie AJAX Anruf machen müssen, ohne neue http-Kopfzeilen zu senden. Deshalb werden Informationen verloren .. :) Hoffe, dass diese Dinge für Sie Sinn ergeben :)
hinzugefügt der Autor swapnesh, Quelle
kann es immer noch nicht sortieren.
hinzugefügt der Autor Psinyee, Quelle
Der Header funktioniert ordnungsgemäß. Nachdem ich den Filter neu gefiltert habe und auf den Sortierknopf geklickt habe, verschwindet der $ _GET ['Befehl'].
hinzugefügt der Autor Psinyee, Quelle