1
Hallo,
ich will einen Eventkalender mit 2 Dropdownfeldern und einem Suchfeld aufbauen.
Es sollen allen Daten ab HEUTE gezeigt werden. Die Dropdowns stehen im Normalfall auf "--Alle zeigen--". Soblald jetzt entweder im Suchbegriff oder Dropdown was geändert wird, soll die Liste sich entsprechend aufbauen. -Mit dem Button "Suchen" -. Wenn möglich nur mit PHP.
Das bisherige Programm habe ich aus mehreren Modulen zusammengetzt. Vielleicht kann man das auch eleganter löschen. Ein Problem ist u.a. das Suchen mit "LIKE" in dem Suchfeld bei dem mehrere Felder (Name, Ort, Kategorie) durchsucht werden sollen.
Ein gutes Beispiel ist z.B.
http://www.job-gess.de/de/stellenmarkt.html
Es ist zwar eine ganz anderer Bereich aber die gleiche Suchfunktion.
MfG
Uwe
ich will einen Eventkalender mit 2 Dropdownfeldern und einem Suchfeld aufbauen.
Es sollen allen Daten ab HEUTE gezeigt werden. Die Dropdowns stehen im Normalfall auf "--Alle zeigen--". Soblald jetzt entweder im Suchbegriff oder Dropdown was geändert wird, soll die Liste sich entsprechend aufbauen. -Mit dem Button "Suchen" -. Wenn möglich nur mit PHP.
Das bisherige Programm habe ich aus mehreren Modulen zusammengetzt. Vielleicht kann man das auch eleganter löschen. Ein Problem ist u.a. das Suchen mit "LIKE" in dem Suchfeld bei dem mehrere Felder (Name, Ort, Kategorie) durchsucht werden sollen.
Ein gutes Beispiel ist z.B.
http://www.job-gess.de/de/stellenmarkt.html
Es ist zwar eine ganz anderer Bereich aber die gleiche Suchfunktion.
MfG
Uwe
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>suchen</title></head>
<body><?php <br />
$dbHost = "localhost"; <br />
$dbUser = "";<br />
$dbPass = "";<br />
$dbName = "";<br /><br />
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Es Konnte keine Verbindung zur Datenbank hergestellt werden!!");<br />
$selectDB = @mysql_select_db($dbName) or die("Konnte die Datenbank <b>$dbName</b> nicht auswählen! Bitte neu versuchen!");<br /><br />
$datentabelle ="meinedaten";
?><center><table
border="1" width="800"><tbody><tr><td><table><tbody><tr><td
valign="top" width="200"><form action="suchen.php"
method="get"><table border="0" cellpadding="0"
cellspacing="2" width="122"><tbody><tr><td></td><td><font
face="tahoma" size="2"><strong>Suche</strong></font></td>
</tr><tr><td><font face="tahoma" size="2"><strong>Suchen:</strong></font></td>
<td><font face="tahoma" size="2"><input
name="suchen" size="15" type="text"></font></td></tr><tr><td><font
face="tahoma" size="2"><strong>Ort:</strong></font></td>
<td><font face="tahoma" size="2"><select
name="ort" size="1"><option>-ALLE-</option><?php echo'<select name="ort">';
$sql = 'SELECT DISTINCT ort From $datentabelle';
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
print '<option value="'.$row['ort'].'">'.$row['ort'].'</option>';
}
}
?></select></font></td>
</tr><tr><td><font face="tahoma" size="2"><strong>Kategorie:</strong></font></td>
<td><font face="tahoma" size="2"><select
name="kategorie" size="1"><option>-ALLE-</option><?php echo'<select name="kategorie">';
$sql = 'SELECT DISTINCT kategorie From $datentabelle';
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
print '<option value="'.$row['kategorie'].'">'.$row['katerorie'].'</option>';
}
}
?></select></font></td>
</tr><tr><td></td><td><font
face="tahoma" size="2"><br></font></td></tr><tr><td><font
face="tahoma" size="2"><strong><input
value="Reset" type="reset"></strong></font></td><td><font
face="tahoma" size="2"><input value="Suchen"
type="submit"></font></td></tr></tbody></table></form></td><td
valign="top" width="600"><?php # array mit den dbfeldnamen und den dropdownnamen
# a-h ist zu ersetzen mit dem namen der tabellenspalte
# dropdownX ist zu ersetzen mit dem namen des dropdowns im formular
$dropdowns = array( "firma" => "suchen",
"ort" => "ort",
"kategorie" => "katerogrie",
);
# wenn ein dropdown diesen wert übermittelt gilt es als nicht ausgewählt
$ignore = "-alle-";
$conditions = array();
foreach($dropdowns as $key => $dropdown) {
if(isset($_POST[$dropdown]) && !empty($_POST[$dropdown]) && $_POST[$dropdown] != $ignore) $conditions[] = "$key = '{$_POST[$dropdown]}' ";
}
$condition = count($conditions) > 0 ? "WHERE " . implode("AND ", $conditions) : "";
$sql = "SELECT * FROM table $condition";
$result=mysql_query($sql);
while ($row=mysql_fetch_assoc($result)) {
echo" <table width=\"700\" border=\"0\">";
echo" <tr>";
echo" <td>". $row["datum"]."</td>";
echo" </tr>";
echo" <tr>";
echo" <td>". $row["firma"]."</td>";
echo" </tr>";
echo" <tr>";
echo" <td>". $row["ort"] ."</td>";
echo" </tr>";
echo" <tr>";
echo" <td>". $row["kategorie"]."</td>";
echo" </tr>";
echo" </table>";
echo" </td></tr></table>";
echo" <br>";
}
?></td></tr></tbody></table></td></tr></tbody></table></center></body></html>