• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Volltextsuche

andy-36

New member
Hallo
Vielleicht kann mir ja hier jemand helfen.
Ich versuche seit einiger Zeit eine Volltextsuche über eine mySQL Datenbank zu programmieren.
Leider gelingt es mir einfach nicht. Ich habe hier mal die Suchseite und die Ausgabeseite:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <title>Unbenanntes Dokument</title>   </head>    <body>   <form id="form1" name="form1" method="get" action="test44.php">   <label>   <input type="text" name="textfield" id="textfield" />   </label>   <label>   <input type="submit" name="suchen" id="suchen" value="suchen" />   </label>   </form>   </body>   </html>     <?php require_once('Connections/TestScript.php'); ?>   <?php   if (!function_exists("GetSQLValueString")) {   function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")    {    $suche = $_GET['SUCHE'];     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);      switch ($theType) {       case "text":         $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";         break;           case "long":       case "int":         $theValue = ($theValue != "") ? intval($theValue) : "NULL";         break;       case "double":         $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";         break;       case "date":         $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";         break;       case "defined":         $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;         break;     }     return $theValue;   }   }    if (!function_exists("GetSQLValueString")) {   function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")    {   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;    $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);    switch ($theType) {   case "text":   $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";   break;    case "long":   case "int":   $theValue = ($theValue != "") ? intval($theValue) : "NULL";   break;   case "double":   $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";   break;   case "date":   $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";   break;   case "defined":   $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;   break;   }   return $theValue;   }   }    mysql_select_db($database_TestScript,  $TestScript);   $query_Recordset1 = "SELECT * FROM testtabelle WHERE Vorname LIKE '%$suche%'";   $Recordset1 = mysql_query($query_Recordset1, $TestScript) or die(mysql_error());   $row_Recordset1 = mysql_fetch_assoc($Recordset1);   $totalRows_Recordset1 = mysql_num_rows($Recordset1);    mysql_free_result($Recordset1);   ?>

PHP:
<?php require_once('Connections/TestScript.php'); ?>   <?php    if (!function_exists("GetSQLValueString")) {   function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")    {      $suche = $_GET['SUCHE'];          $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);      switch ($theType) {       case "text":         $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";         break;           case "long":       case "int":         $theValue = ($theValue != "") ? intval($theValue) : "NULL";         break;       case "double":         $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";         break;       case "date":         $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";         break;       case "defined":         $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;         break;     }     return $theValue;   }   }    $maxRows_Recordset1 = 10;   $pageNum_Recordset1 = 0;   if (isset($_GET['pageNum_Recordset1'])) {     $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];   }   $startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;    mysql_select_db($database_TestScript,  $TestScript);   $query_Recordset1 = "SELECT * FROM testtabelle";   $query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);   $Recordset1 = mysql_query($query_limit_Recordset1,  $TestScript) or die(mysql_error());   $row_Recordset1 = mysql_fetch_assoc($Recordset1);    if (isset($_GET['totalRows_Recordset1'])) {     $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];   } else {     $all_Recordset1 = mysql_query($query_Recordset1);     $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);   }   $totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;   ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <title>Unbenanntes Dokument</title>   </head>    <body>   <?php do { ?>     <table width="400" border="1" cellspacing="0" cellpadding="0">       <tr>         <td><?php echo $row_Recordset1['Vorname']; ?></td>       </tr>         </table>     <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></body>   </html>   <?php   mysql_free_result($Recordset1);   ?>

Wenn ich nun eine Suchanfrage starte, dann kriege ich immer alle Datensätze aus der Tabelle retour.
Habe ich eventuell an der Ausgabeseite etwas vergessen einzufügen?

Für eure Hilfe wäre ich sehr dankbar.

Gruss
Andy
 
Zurück
Oben