Fiksere måde?
Hej eksperterhttp://www.proj.dk/timesag
bn=test
pw=password
(klik på vis udtræk)
Jeg bruger en form og nedenstående funktion til at generere en udvælgelsesforespørgsel (noget sql).
Findes der ikke en fiksere måde at bikse sql'en sammen på end med nedenstående? Det virker, men bliver allerh... uoverskueligt, hvis der kommer flere felter på.
Er der én der har en fiksere metode til at lave forespørgsler ud fra valg i en form?
Ikke en switch (som er i princippet er magen til).
Ikke ved at putte dele i funktioner.
Findes der en principielt anderledes og smartere måde?
function make_sql($fra="", $til="", $bruger="", $proj="" ){//laver dato sql stump til query
if ($fra==""&&$til==""){
$sql="";
if ($bruger==""&&$proj==""){
}
if ($bruger==""&&$proj!=""){
$sql="time_projekt_id = $proj";
}
if ($bruger!=""&&$proj==""){
$sql="time_bruger_id = $bruger";
}
if ($bruger!=""&&$proj!=""){
$sql="time_bruger_id = $bruger AND time_projekt_id = $proj";
}
}//if
if ($fra == "" && $til != ""){
$sql =" time_dato <= "."'".DK_dato_US ($til)."' ";
if ($bruger==""&&$proj==""){
}
if ($bruger==""&&$proj!=""){
$sql .= "AND time_projekt_id = $proj";
}
if ($bruger!=""&&$proj==""){
$sql .= "AND time_bruger_id = $bruger";
}
if ($bruger!=""&&$proj!=""){
$sql.="AND time_bruger_id = $bruger AND time_projekt_id = $proj";
}
}//if
if ($fra != "" && $til == ""){
$sql = " time_dato >= "."'".DK_dato_US ($fra)."' ";
if ($bruger==""&&$proj==""){
}
if ($bruger==""&&$proj!=""){
$sql .= "AND time_projekt_id = $proj";
}
if ($bruger!=""&&$proj==""){
$sql .= "AND time_bruger_id = $bruger";
}
if ($bruger!=""&&$proj!=""){
$sql .= "AND time_bruger_id = $bruger AND time_projekt_id = $proj";
}
}//if
if ($fra != "" && $til != ""){
$sql = " time_dato BETWEEN "."'".DK_dato_US ($fra)."'"." AND "."'".DK_dato_US ($til)."' ";
if ($bruger==""&&$proj==""){
}
if ($bruger==""&&$proj!=""){
$sql .= "AND time_projekt_id = $proj";
}
if ($bruger!=""&&$proj==""){
$sql .= "AND time_bruger_id = $bruger";
}
if ($bruger!=""&&$proj!=""){
$sql .= "AND time_bruger_id = $bruger AND time_projekt_id = $proj";
}
}//if
return $sql;
}//func