Blätterfunktion mit Suchformular - Ein teil gelöst!

master1971

Mitglied
Hallo,:)

ich habe eine Such Blätterfunktion gefunden, die wenn man ein Suchbegriff im Formular eingibt und dieser z.B. 30 mal in der DB vorhanden ist, 10 Texte auf z.B. 3 Links verteilt und so angezeigt werden.

Das Problem: Die Links zum Blättern haben kein Limit, sprich es geht immer so weiter z.B. (1.2.3.4.5.6.7.8.9.10.11. usw.).

Was also noch an dieser Blätterfunktion fehlt, ist das man z.B. 10 Datensätze mit max. 5 Seiten angezeigt werden sollten und alles was mehr ist, mit z.B. den Pfeilen, sowohl rechts wie links weiter geblättert werden soll z.B. ( < << 1. 2. 3. 4. 5. ... >> > ).

Wenn einer dafür eine Lösung hätte, währe diese Script perfekt als Blätter Suchfunktion.:(

HTML:
<form name="********" method="get" action="********.php">
 <input class="suchfeld" type="text" name="suchanfrage" maxlength="100">
  <input class="************" name="************?" type="submit" value="Pr&uuml;fen">
</form>

PHP:
<?php 
$suchanfrage = $_GET["suchanfrage"]; 

$weitersuchen = $suchanfrage; 
?> 

<?php 
$seite = $_GET["seite"]; 

if(!isset($seite)) 
   { 
   $seite = 1; 
   } 


$link = mysql_connect("localhost","****************?","********************") or die ("Keine Verbindung moeglich"); 
mysql_select_db("************************?") or die ("Die Datenbank existiert nicht"); 


$eintraege_pro_seite = 10; 



$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 

$suchanfrage = explode(' ', $suchanfrage);  
$anzahl = count($suchanfrage);  
$wheres = ""; 
for($a = 0; $a < $anzahl; $a++){ 
  if (strlen(trim($suchanfrage[$a])) != 0){ 
    $wheres .= "`********************` LIKE '%".$suchanfrage[$a]."%' OR "; 
  } 
} 
$wheres = substr($wheres, 0 ,-3); 

$abfrage = mysql_query("SELECT * FROM ******************** WHERE ".$wheres." ORDER BY ********************? DESC LIMIT $start, $eintraege_pro_seite"); 
while($daten = mysql_fetch_object($abfrage))  
  {  
  echo $daten->************************."<br />";   
  } 

$result = mysql_query("SELECT * FROM ******************** WHERE ".$wheres." ORDER BY ****************? DESC"); 
$menge = mysql_num_rows($result); 
$wieviel_seiten = ceil($menge / $eintraege_pro_seite); 
echo "<div align=\"center\" style=\"margin:5px 0 0 0; border-top:1px dashed #e7e7e7; border-bottom:1px dashed #e7e7e7\">"; 
echo "<b>Seite:</b> "; 

$a = 0; 
while($a < $wieviel_seiten) 
{ 
    $a++; 
   if($seite == $a) 
      { 
      echo ' <b> '. $a .' </b> '; 
      } 
   else 
      { 
        echo '<a href="?seite='.$a.'&suchanfrage='.$weitersuchen.'"> '.$a.' </a>'; 
      }  
} 
echo "</div>"; 
?>
;)
 
Halli hallo,

dir fehlt nur der richtige Begriff für ein Thema, das du über die hier vorhandene wunderbare Suchfunktion mindestens - wenn nicht gar - x-mal gefunden hättest:

Pagination
 
Vllt ist die Abkürzung für das Wort "vielleicht". Das gesuchte Wort deinerseits lautet allerdings immer noch

PAGINATION

Ich hoffe, du konntest es jetzt zweifelsfrei identifizieren.
 
Hallo,

tut mir leid, aber ich finde unter PAGINATION keine Hilfe zu den o.g. Such Blätterfunktion.

Kann mir bitte jemand einfach nur richtig Helfen ohne Mystische Antworten.
 
Das gleiche Script habe ich schon mal auf Fehler hin analysiert und es kommt mir sehr bekannt vor.

Was willst du jetzt genau haben? Du willst "Vor"- und "Zurück"-Link haben, das habe ich verstanden. Den Rest habe ich nicht kapiert.

Und noch mal: Das was du als Blätterfunktion bezeichnest, heißt Pagination! Sorry, aber so lautet nun mal die Bezeichnung unter der man die Funktionalität im Internet zu hauf findet.
 
Hallo,

erstmal danke für die Hilfe.

ja ich weis PAGINATION heist im Italienisch PAGINA und folglich Seite.

Nur ich finde keinen Script PAGINATION mit Suchformular im Internet.

Ich kann auch nicht verstehen, dass bei so vielen Script im Internet, sowas nicht zu finden ist.

Ich möchte einfach nur einen Suchformular in dem man z.B. einen Text eingibt und wenn dieser Text in der DB z.B. 100 mal vorhanden ist, die Text Daten z.B. 10 mal angezeigt werden und mit einer PAGINATION (Blätterfunktion) immer die nächst weiteren 10 Text Datensätze man aufrufen kann, bis man alle für den jeweiligen Text in der DB durchgeblättert hat.

Die PAGINATION soll aber nicht wie oben der Script sein und durchgehend nummerieren z.B. so ( 1. 2. 3. 4. 5. 6. 7. 8. usw...), sondern z.B. so: << < 1. 2. 3. 4. 5. > >> .

Ich brauche ein Suchformular der aus meiner DB den jeweiligen Suchbegriff findet mit PAGINATION funktion, fertig .
 
Zurück