~~NOCACHE~~ ====== Lehrstuhlbibliothek ====== /* print_r($_POST); */ ===== Suchergebnisse ===== $backtosearch = "
Zurück zur Suche
"; /* Verbindung mit der Datenbank */ $link = mysql_connect ("localhost", "bib"); /*UTF-8 Codierung angeben*/ mysql_query("SET NAMES 'utf8'", $link); /* Ferhlercode auslesen wenn Verbindung nicht klappt */ if ( mysql_errno() != 0) { echo "Folgender Fehler ist aufgetreten: ".mysql_errno()." : ".mysql_error(); } /* Datenbank auswaehlen */ mysql_select_db("bibadm") or die("Could not select database"); /* übergebene HTTP-POST-Variablen auslesen */ $verknuepfung = mysql_real_escape_string($_POST['verknuepfung']); $vergleich = mysql_real_escape_string($_POST['vergleich']); $rubriken = mysql_real_escape_string($_POST['rubriken']); $year = mysql_real_escape_string($_POST['year']); $firstsearch = mysql_real_escape_string($_POST['firstsearch']); $secondsearch = mysql_real_escape_string($_POST['secondsearch']); $reihenfolge = mysql_real_escape_string($_POST['reihenfolge']); $suchwahl1 =mysql_real_escape_string($_POST['suchwahl1']); $suchwahl2 = mysql_real_escape_string($_POST['suchwahl2']); $sql = "SELECT Author as Autor, Title as Titel, Year as Jahr, Rubrik, Standort FROM daten"; // ,Bibkey as Details FROM daten"; function whereexp($category, $term) { $where = ""; if ($category == "author") $where .= "(author like '%$term%' or editor like '%$term%')"; else if ($category == "title") $where .= "(title like '%$term%' OR booktitle LIKE '%$term%' OR untertitel LIKE '%$term%' OR procedingname LIKE '%$term%')"; else if ($category == "keywords") $where .= "(title like '%$term%' or booktitle like '%$term%' or keywords like '%$term%' or untertitel like '%$term%' or procedingname like '%$term%' or author like '%$term%' or editor like '%$term%')"; return $where; } $where = ""; if ($firstsearch != "") { $where .= whereexp($suchwahl1, $firstsearch); } if ($secondsearch != "") { if ($verknuepfung != "and" and $verknuepfung != "or") { $verknuepfung = "and"; } /* Abfrage, ob überhaupt eine Eingabe erfolgt ist */ /*if ($firstsearch == "" and $secondsearch == "" and $yearsearch == "" and $rubriken == "%") { echo "
Bitte spezifizieren sie mindestens ein Suchkriterium.
"; echo $backtosearch; exit; }*/ $where = "(($where) $verknuepfung (". whereexp($suchwahl2, $secondsearch) . "))"; } $year = intval($year); if ($year != 0) { switch ($vergleich) { case "exact": $op = "="; break; case "since": $op = ">="; break; case "until": $op = "<="; break; default: $op = "="; break; } $where .= " AND (year $op $year)"; } if ($where == "") { echo "
Bitte spezifizieren sie mindestens ein Suchkriterium.
"; echo $backtosearch; exit; } $sql = $sql . " WHERE ". $where; if ($reihenfolge == "Year" or $reihenfolge == "sort") { $sql .= " ORDER BY $reihenfolge, Rubrik"; } else { $sql .= " ORDER BY Rubrik"; } /*echo "sql: $sql";*/ /*$sql = "SELECT Author AS Autor, Title AS Titel, Year AS Jahr, Rubrik, Standort, Bibkey from daten WHERE Title LIKE '%schwefel%'";*/ /*Abfrage der Datenbank absenden*/ $result = mysql_query ($sql); if ( mysql_errno() != 0) exit("Folgender Fehler ist aufgetreten: ".mysql_errno().": ".mysql_error(). " : " .$sql); /*UTF-8 Umwandlung*/ //$result = utf8_decode($result); //echo "utf8_decode: $result"; /* Anzahl gefundener Datensaetze */ if ($result) { $number = mysql_num_rows($result); if ($number == 1) { echo "

Es wurde 1 Datensatz gefunden.

"; } else if ($number == 0) { echo "
Es wurden keine mit Ihrer Suchanfrage übereinstimmenden Dokumente gefunden.
"; echo $backtosearch; exit; } else if ($number > 1000) { echo "
Es wurden $number übereinstimmende Dokumente gefunden.
Bitte spezifizieren Sie Ihre Suchanfrage.

"; echo $backtosearch; exit; } else { echo "

Es wurden $number Datensätze gefunden.

"; } } /* Datensaetze in die tabele verfrachten */ echo "\n\n"; echo "\n"; // Anzahl der Spalten ermitteln $num_fields = mysql_num_fields($result); // headerzeile ausgeben for($index=0 ; $index<($num_fields) ; $index++) { echo "\t\n"; } echo "\t\n"; echo "\n"; /* Erste bis ... Zeile * * Damit der Abstand der Zeilen nicht so gross ist sind die formulare um die tablerows herum gesetzt * */ while ($row = mysql_fetch_row($result)){ /* echo "" . "\n"; echo ""; */ /* echo "" . "\n"; */ echo ""; echo "\t\n\t\t\n\t\t\n\t"; echo ""; echo ""; echo ""; echo "\n\n"; } echo "
" . mysql_field_name($result, $index) . " 
"; if ($row[0]=="") $row[0]=" "; if ($row[1]=="") $row[1]=" "; if ($row[2]=="") $row[2]=" "; if ($row[3]=="") $row[3]=" "; if ($row[4]=="") $row[4]=" "; //$row[5] = ""; echo implode("", $row); echo "
"; echo "
"; echo "
"; /* Verbindung zur Datenbank trennen */ mysql_close($link); [[:library|Zurück zur Suche]]