Hi @ll,
ich habe ein Problem mit der Auswertung von Mehrfachauswahllisten.
Ich moechte mit PHP & MySQL eine Auswertung erstellen, in der maximal eine Kombination aller drei Mehrfachauswahllisten zulaessig und moeglich ist. Allerdings weiss ich nicht, wie man dies in PHP und MySQL realisieren kann. Hier der Code des bisherigen Standes der Arbeit:
PHP-Code:
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<?
if (isset($HTTP_POST_VARS['submit']) AND $HTTP_POST_VARS['submit'] == "Abschicken") {
if (isset($HTTP_POST_VARS['1'])) {
$bla1 = array();
$bla1 = $HTTP_POST_VARS['1'];
while (list($key, $value) = each ($bla1)) {
if ($key == "0") {
$a1 = $value;
} else {
$a1 .= " OR Themfeld =".$value;
}
}
}
if (isset($HTTP_POST_VARS['2'])) {
$bla2 = array();
$bla2 = $HTTP_POST_VARS['2'];
while (list($key, $value) = each ($bla2)) {
if ($key == "0") {
$a2 = $value;
} else {
$a2 .= " OR Land =".$value;
}
}
}
if (isset($HTTP_POST_VARS['3'])) {
$bla3 = array();
$bla3 = $HTTP_POST_VARS['3'];
while (list($key, $value) = each ($bla3)) {
if ($key == "0") {
$a3 = $value;
} else {
$a3 .= " OR Thember =".$value;
}
}
}
}
?>
<form action="komplexe_abfrage.php" method="post">
<table>
<tr>
<td>
Themenfelder:
<select multiple size="4" name="1[]">
<option value="92001"> Wirtschaft
<option value="92002"> Wissenschaft
<option value="92003"> Verwaltung
<option value="92004"> Kultur
</select>
</td>
<td>
Länder:
<select multiple size="11" name="2[]">
<option value="100000"> Deutschland
<option value="100001"> Bulgarien
<option value="100002"> Estland
<option value="100003"> Lettland
<option value="100004"> Litauen
<option value="100005"> Polen
<option value="100006"> Rumänien
<option value="100007"> Slowakei
<option value="100008"> Slowenien
<option value="100009"> Tschechien
<option value="100010"> Ungarn
</select>
</td>
<td>
Themenbereiche:
<select multiple size="22" name="3[]">
<option value="91001"> Bürgerbeziehungen
<option value="91002"> Dienstleistungen
<option value="91003"> EU-Förderprogramme
<option value="91004"> Geistes- und Sozialwissenschaften, Geschichte
<option value="91005"> Gemeinde, Städte und Kreispartnerschaften
<option value="91006"> Geographie
<option value="91007"> Handel
<option value="91008"> Handwerk
<option value="91009"> Industrie und Produzierendes Gewerbe
<option value="91010"> Ingenieurwissenschaften
<option value="91011"> Kultur und Kunst
<option value="91012"> Kulturwissenschaften
<option value="91013"> Land- und Forstwirtschaft
<option value="91014"> Naturwissenschaftliche Grundlagenforschung
<option value="91015"> Rechtswissenschaften
<option value="91016"> Stadt- und Regionalentwicklung / Strukturpolitik
<option value="91017"> Tourismus
<option value="91018"> Transport und Logistik
<option value="91019"> Umweltwissenschaften
<option value="91020"> Verwaltung / Fortbildung
<option value="91021"> Wirtschaftsförderung
<option value="91022"> Wirtschaftswissenschaften
</select>
</td>
</tr>
<tr>
<td>
<input type="submit" name="submit" value="Abschicken"> <input type="reset">
</td>
</tr>
</table>
</form>
<table border="0" width="460">
<?
$db = mysql_connect ($host,$benutzer,$kenn)
or exit ("Keine Verbindung hergestellt!");
mysql_select_db ("owkn",$db)
or exit ("Datenbank nicht geöffnet");
$sql4="SELECT
DISTINCT
u.Unternehmen_ID
FROM Unternehmen u
WHERE u.Themfeld = ".$a1;
$result4=mysql_query($sql4, $db);
$autor4=array();
while($row4=mysql_fetch_row($result4)){
array_push($autor4, $row4);
}
#print_r($autor4);
?>
<? for ($i=0;$i<count($autor4);$i++)
{?>
<tr>
<td valign="top" align="left" width="5"></td>
<td valign="top" align="left" nowrap><h4><? echo "<a href=\"Ergebnis.php?action=Ergebnis&ds_id_u=".$autor4[$i][0]."\">".$autor4[$i][0]."</a>";?></h4></td>
</tr>
<?} ?>
</table>
<table border="0" width="460">
<?
$db = mysql_connect ($host,$benutzer,$kenn)
or exit ("Keine Verbindung hergestellt!");
mysql_select_db ("owkn",$db)
or exit ("Datenbank nicht geöffnet");
$sql5="SELECT
DISTINCT
w.Wissenschaft_ID
FROM Wissenschaftler w
WHERE w.Themfeld = ".$a1;
$result5=mysql_query($sql5, $db);
$autor5=array();
while($row5=mysql_fetch_row($result5)){
array_push($autor5, $row5);
}
#print_r($autor5);
?>
<? for ($i=0;$i<count($autor5);$i++)
{?>
<tr>
<td valign="top" align="left" width="5"></td>
<td valign="top" align="left" nowrap><h4><? echo "<a href=\"Ergebnis.php?action=Ergebnis&ds_id_w=".$autor5[$i][0]."\">".$autor5[$i][0]."</a>";?></h4></td>
</tr>
<?} ?>
</table>
<table border="0" width="460">
<?
$db = mysql_connect ($host,$benutzer,$kenn)
or exit ("Keine Verbindung hergestellt!");
mysql_select_db ("owkn",$db)
or exit ("Datenbank nicht geöffnet");
$sql2="SELECT
DISTINCT
v.Koerpscha_ID
FROM Verwaltung v
WHERE v.Themfeld = ".$a1;
$result2=mysql_query($sql2, $db);
$autor2=array();
while($row2=mysql_fetch_row($result2)){
array_push($autor2, $row2);
}
#print_r($autor2);
?>
<? for ($i=0;$i<count($autor2);$i++)
{?>
<tr>
<td valign="top" align="left" width="5"></td>
<td valign="top" align="left" nowrap><h4><? echo "<a href=\"Ergebnis.php?action=Ergebnis&ds_id_v=".$autor2[$i][0]."\">".$autor2[$i][0]."</a>";?></h4></td>
</tr>
<?} ?>
</table>
<table border="0" width="460">
<?
$db = mysql_connect ($host,$benutzer,$kenn)
or exit ("Keine Verbindung hergestellt!");
mysql_select_db ("owkn",$db)
or exit ("Datenbank nicht geöffnet");
$sql="SELECT
DISTINCT
k.Kultur_ID
FROM K_Einr k
WHERE k.Themfeld = ".$a1;
$result=mysql_query($sql, $db);
$autor=array();
while($row=mysql_fetch_row($result)){
array_push($autor, $row);
}
#print_r($autor);
?>
<? for ($i=0;$i<count($autor);$i++)
{?>
<tr>
<td valign="top" align="left" width="5"></td>
<td valign="top" align="left" nowrap><h4><? echo "<a href=\"Ergebnis.php?action=Ergebnis&ds_id_k=".$autor[$i][0]."\">".$autor[$i][0]."</a>";?></h4></td>
</tr>
<?} ?>
</table>
</body>
</html>
Die ausschliessliche Auswahl von Themenfeldern funktioniert. Jedoch soll auch eine zusaetzliche oder alleinge Auswahl von Laendern und oder Themenbereichen moeglich sein.
Vielen Dank fuer eure Hilfe!
Gruss, Stefan