Hallo,
ich habe hier eine Suchmaschine die in einer DB sucht. Aber egal was ich eingebe in den Feldern es wird immer alles gefunden. Dies sollte natürlich nicht so sein. Da umso mehr man angibt so genauer sollen die Treffer werden. Ausser bei plz klappt das nur wenn nur ein Treffer angezeigt wird, wird die id nicht mehr dargestellt. Bin schon langsam am durchdrehen. Habe wirklich alles ausprbiert. Hat jemand eine Idee? Thanx
ich habe hier eine Suchmaschine die in einer DB sucht. Aber egal was ich eingebe in den Feldern es wird immer alles gefunden. Dies sollte natürlich nicht so sein. Da umso mehr man angibt so genauer sollen die Treffer werden. Ausser bei plz klappt das nur wenn nur ein Treffer angezeigt wird, wird die id nicht mehr dargestellt. Bin schon langsam am durchdrehen. Habe wirklich alles ausprbiert. Hat jemand eine Idee? Thanx
PHP-Code:
<?php
// ################## Datenbankanbindung ###############################
$benutzer = "###";
$passwort = "###";
$datenbank = "db";
$host = "localhost";
$tabelle = "###";
// #####################################################################
if ($level == "1") {
$eingabe = ereg_replace("\+", " ", $eingabe);
$eingabe = ereg_replace("-", " ", $eingabe);
$eingabe = ereg_replace(",", " ", $eingabe);
$eingabe = ereg_replace("^[ ]+", "", $eingabe);
$eingabe = ereg_replace("[ ]+$", "", $eingabe);
$eingabe = ereg_replace("[ ]+", " ", $eingabe);
}
if ($level != "1") {
echo"
<form action='suche.php'>
<input type='hidden' name='level' value=1>
<INPUT NAME='suche' SIZE='12'>
<INPUT NAME='strasse' SIZE='12'>
<SELECT NAME='auto' $css_select>
<OPTION></OPTION>
<OPTION VALUE='1e'>1</OPTION>
<OPTION VALUE='2'>2</OPTION>
<OPTION VALUE='3'>3</OPTION>
<OPTION VALUE='4'>4</OPTION>
</SELECT>
<INPUT NAME='plz' size='12'>
<INPUT NAME='ort' size='12'>
<INPUT NAME='suche' TYPE='image' SRC='suchen.gif'>
</form>
";
} else {
@mysql_connect("$host", "$benutzer", "$passwort");
@mysql_select_db ("$datenbank");
$_query = "SELECT * FROM $tabelle WHERE (auto <= 2) ";
if ($plz == 0 ) { $_query .= ""; }
if ($plz != 0 ) { $_query .= "AND plz LIKE $plz "; }
if ($auto == 0) { $_query .= ""; }
if ($auto != 0 ) { $_query .= "AND auto >= $auto "; }
if ($ort == 0) { $_query .= ""; }
if ($ort != 0 ) { $_query .= "AND ort >= $ort "; }
if ($strasse == 0) { $_query .= ""; }
if ($strasse != 0 ) { $_query .= "AND strasse <= $strasse "; }
if ($suche == 0) { $_query .= ""; }
if ($suche != 0 ) { $_query .= "AND suche >= $suche "; }
$_query .= "ORDER BY auto ASC";
$_result = mysql_query ($_query);
$num = mysql_numrows($_result)or die ('mySQL ERROR (' . __LINE__ . '): '.mysql_error());
echo "
<table width=\"435\" border=\"0\">
<tr>
<td colspan=\"4\">
<font class=\"h1\">Ergebnis der Suchanfrage</font><br><br>
</td>
</tr>
</table>
<br>
";
if ($num == 0) { echo "<font class=\"text\">Es wurden <b>keine</b> Einträge in der Datenbank gefunden.</font><br><br>";}
if ($num == 1) { echo "<font class=\"text\">Es wurde <b>$num</b> Eintrag in der Datenbank gefunden.</font><br><br>";}
if ($num >= 2) { echo "<font class=\"text\">Es wurden <b>$num</b> Einträge in der Datenbank gefunden.</font><br><br>";}
if ($num > 0) {echo"
<TABLE WIDTH='435' BORDER='0' CELLSPACING='5' CELLPADDING='0'>
";
for ($i = 0; $i < $num; $i++) {
$row = @mysql_fetch_array($_result);
{
$user_id[$c] = $row["user_id"];
$c++;
}
echo "<td valign=\"top\">";
if ($row[strasse] == 5){echo"<a href=../user/profil.php>$row[strasse] ($row[plz] $row[ort])</a>";
}
echo"
</td>
";
if ($row[auto] == 0){ echo"
<td valign=\"top\" align=\"center\"><font class=\"text\">$row[plz]</font></td>";
}
echo"<td valign=\"top\" align=\"center\"><font class=\"text\">$row[ort]</font></td>";
echo"<td valign=\"top\" align=\"center\"><font class=\"text\">$row[auto]</font></td>";
echo"</tr>";
}
}
echo "</table>";
EDIT:
php.tags by wotan
Kommentar