Hi @ll
das folgende Skript wertet zwei Multiple Select-Listen aus.
Die Auswertung in dieser Form funktioniert leider nru, wenn man einen oder mehrere Eintraege aus land in Kombination mit einem oder mehreren Werten aus thember auswaehlt, aber nicht, wenn man ausschliesslich einen oder mehrere Eintraege aus land oder ausschliesslich einen oder mehrere Werte aus thember auswaehlt.
Irgendwie komme ich auch da zu keinem funktionsfaehigen Ergebnis.
Kann mir da ggf. jemand von euch weiterhelfen?
Vielen Dank!
Gruss,
Lage
PHP-Code:
<?
if (isset($HTTP_GET_VARS['action']) OR $HTTP_POST_VARS['submit'] == "Abschicken") {
$bla2 = $HTTP_POST_VARS['land'];
if (!isset($bla2))
$bla2=explode(",",$HTTP_GET_VARS['land']);
for ($i=0;$i<count($bla2);$i++)
{
if ($i == count($bla2)-1) {
$lan .= $bla2[$i];
} else {
$lan .= $bla2[$i].",";
}
}
if (isset($bla2)) {
while (list($key1, $value) = each ($bla2)) {
if ($key1 == "0" && $key != "0") {
$U_Laender_Land = "Unternehmen.U_Land = ".$value." OR Wirtschkont.Land = ".$value." OR Instkont.Land = ".$value;
} else {
$U_Laender_Land .= " OR Unternehmen.U_Land = ".$value." OR Wirtschkont.Land = ".$value." OR Instkont.Land = ".$value;
}
if ($key1 == "0") {
$LEFT_JOIN_U_Laender = "LEFT JOIN Wirtschkont ON (Unternehmen.Unternehmen_ID = Wirtschkont.Unternehmen_ID) LEFT JOIN Instkont ON (Unternehmen.Unternehmen_ID = Instkont.Unternehmen_ID) ";
}
}
$U_Laender_Land = "(".$U_Laender_Land.")";
}
$bla1 = $HTTP_POST_VARS['thember'];
if (!isset($bla1))
$bla1=explode(",",$HTTP_GET_VARS['thember']);
for ($i=0;$i<count($bla1);$i++)
{
$j = count($bla1)-1;
if ($i == $j)
{
$them .= $bla1[$i];
} else {
$them .= $bla1[$i].",";
}
}
if (isset($bla1)) {
while (list($key, $value) = each ($bla1)) {
if ($key == "0" && $key1 == "0") {
$U_Thember_Thember = "OR U_Thember.Thember = ".$value;
}
if ($key == "0" && $key1 != "0") {
$U_Thember_Thember = " U_Thember.Thember =".$value;
} else {
$U_Thember_Thember .= " OR U_Thember.Thember =".$value;
}
if ($key == "0") {
$LEFT_JOIN_U_Thember = "LEFT JOIN U_Thember ON (Unternehmen.Unternehmen_ID = U_Thember.Unternehmen_ID)";
}
}
$U_Thember_Thember = ($U_Laender_Land != "" ? "AND (" : "(").$U_Thember_Thember.")";
}
}
$sql4="SELECT
DISTINCT
Unternehmen.Unternehmen_ID,
Unternehmen.Firma_Inst"." FROM Unternehmen ".$LEFT_JOIN_U_Laender." ".$LEFT_JOIN_U_Thember
.($U_Laender_Land != "" || $U_Thember_Thember != "" ? " WHERE ".$U_Laender_Land." ".$U_Thember_Thember : "")
." ORDER BY Unternehmen.Firma_Inst";
?>