?></h3>
<?
- $query = "SELECT url,subject,category FROM links ";
- $query .= "WHERE ";
+ $query = "SELECT url,subject,category FROM links";
+ $condition = '';
if (strlen ($keywords)) {
$keys = explode (" ", $keywords);
$keys_and = array();
# Process all OR-keywords
#
if (count ($keys_or) > 1) {
- $query .= "( ";
+ $condition .= "( ";
}
for ($i=0; $i < count ($keys_or); $i++) {
if ($i > 0) {
- $query .= "OR ";
+ $condition .= "OR ";
}
- $query .= sprintf ("( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
+ $condition .= sprintf ("( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
$keys_or[$i], $keys_or[$i], $keys_or[$i], $keys_or[$i]);
}
if (count ($keys_or) > 1) {
- $query .= ") ";
+ $condition .= ") ";
}
# Process all AND-keywords
#
for ($i=0; $i < count ($keys_and); $i++) {
if ($i > 0 || (count ($keys_or) > 0)) {
- $query .= "AND ";
+ $condition .= "AND ";
}
- $query .= sprintf ("( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
+ $condition .= sprintf ("( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
$keys_and[$i], $keys_and[$i], $keys_and[$i], $keys_and[$i]);
}
#
if ((count ($keys_or) > 0) || (count ($keys_and) > 0)) {
for ($i=0; $i < count ($keys_not); $i++) {
- $query .= sprintf ("AND NOT ( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
+ $condition .= sprintf ("AND NOT ( category ~* '%s' OR keywords ~* '%s' OR subject ~* '%s' OR url ~* '%s' ) ",
$keys_not[$i], $keys_not[$i], $keys_not[$i], $keys_not[$i]);
}
}
}
- if (strlen ($keywords) && strlen ($category)) { $query .= " AND "; }
+ if (strlen ($keywords) && strlen ($category)) { $condition .= " AND "; }
if (strlen ($category)) {
if (substr ($category, 0, 1) == "/") {
- $query .= sprintf ("category = '%s'", $category);
+ $condition .= sprintf ("category = '%s'", $category);
} else {
- $query .= sprintf ("category ~* '%s'", $category);
+ $condition .= sprintf ("category ~* '%s'", $category);
}
}
- $query .= "ORDER BY category,subject";
+ if (strlen($condition)) { $query .= " WHERE " . $condition; }
+ $query .= " ORDER BY category,subject";
?>
<linx "$query">