SORRY! Leider noch eine Blätterfunktion!

Dönerman

Gesperrt
Ich mache eine Suchfunktionseite wo man nach ganzen Texten, Wörter suchen kann! Das funkt auch, aber jetzt will ich auch eine Blätterfunktion reinhaun! Mein Problem ist es, dass ich die Wörter mittels POST hole, ich habe es sonst immer mit einen array gemacht! ich weiß jetzt nicht genau, wie ich das machen soll!

Könntet ihr mir helfen?

suchseite.php

HTML:
 <form name="form1" method="post" action="search_2_admin1.php">
 <textarea name="eingabe" cols="50" rows="5"></textarea>
 <br><br>
 <input type="submit" name="Submit" value="Abschicken">
 </form>

search_2_admin1.php

PHP:
 if($eingabe == "")
 {
 
 	$sp=0; 
 
 	echo "<table cellspacing=\"3\" cellpadding=\"3\">";
 	echo "<tr>";
 	$abfrage = "SELECT * FROM file where text = ''";
 	  $ergebnis = mysql_query($abfrage);
 		  while($row = mysql_fetch_object($ergebnis))
 		{
 		echo "<td  valign=\"middle\" align=\"center\" style=\"BORDER:1px solid #CCCCCC;\">";
 		echo "<a href='picture3_admin1.php?id=$row->name&eingabe=".$eingabe."'><img src=\"thumbs/$row->name\" border='0'>";
 		echo "</td>";
 		$sp++; 
 
 		  if(($sp%8)==0) 
 		  { 
 			echo "</tr><tr>"; 
 		  } 	
 	//	echo $row->name;
 		}
 		echo "</tr></table>";
 
 }else{
 	$eingabe_array = explode(' ',$eingabe); 
 	$query = 'select * from file where '; //anfang der abfrage
 		for($i=0; $i<count($eingabe_array); $i++)
 		{
 			$query .= "(text like '%".$eingabe_array[$i]."%')";// or name like '%".$eingabe_array[$i]."%')"; 
 			if($i<count($eingabe_array)-1)
 			{
 				$query .= ' and ';  
 			} 
 			}
 			
 	$sp=0;
 	echo "<table cellspacing=\"3\" cellpadding=\"3\">";
 	echo "<tr>";
 
 	$result = mysql_db_query('ban',$query); 
 	$ka = mysql_num_rows($result);
 
 	for($i=0; $i<$ka; $i++)
 	{
 		$name = mysql_result($result,$i,'name');
 		$id = mysql_result($result,$i,'id');
 		$first = array_slice(explode(' ', $name), 0, 40); 
 		$ausg = join(' ', $first);
 		echo "<td  valign=\"middle\" align=\"center\" style=\"BORDER:1px solid #CCCCCC;\">";
 		echo "<a href='picture3_admin1.php?id=$ausg&eingabe=".$eingabe."'><img src=\"thumbs/$ausg\" border='0'>";
 		echo "</td>";
 		$sp++;
 
 		if(($sp % 8) == 0)
 		  {
 			  echo "</tr><tr>";
 		  }
 	}
 
 }
 
Du kannst doch den Suchstring ebenfalls in ein Array splitten.

PHP:
$eingabe_a=explode($_POST['eingabe']);

Dann kannst du dein altes Blätterscript nehmen! ;)

PS.: Sorry, dass ich nicht auf deine PN geantwortet hab, war für ne Zeit nicht da!

//edit:
Ich hab Hunger. Geh jetzt essen.
 
hey! wenn ich
PHP:
	$eingabe_a = explode($eingabe);
schreibe dann kommt:

Warning: Wrong parameter count for explode() in C:\apachefriends\xampp\htdocs\banp\admin1\search_2_admin1.php on line 64

ABER wenn ich
PHP:
 echo $eingabe;
schreibe kommt: g (das was ich eingeben habe)
 
PHP:
$eingabe_a = explode("Zeichen an den es zerlegt werden soll " , "String");

Wenn der Befehl im eigentlichen klar ist kann man sich doch auch mal dazu bequemen sich die richtige Syntax von der Funktion anzusehen ;)

zum beispiel in einer der schönesten Referenzen der Welt ;)
 
Zuletzt bearbeitet:
Hoppla! Im meinem "Hungerstress" Hab ichs voll übersehen. Du musst natürlich als Trennzeichen ein Leerzeichen eingeben:

PHP:
$eingabe_a=explode(" ",$eingabe);

Nimmst du eigentlich die Superglobals $_POST, $_GET usw.?
 
An und fürsich solltest du register_globals immer auf "off" haben. Denn sind sie eingeschaltet ergeben sich daraus verschiedene Sicherheitslücken. Zum beispiel könnte man eine Aktion die eigentlich per 'session' ausgelöst wird, über 'get' ausgelöst werden. Daher register_globals auf "off" schalten.

Solltest du einmal eine Variable haben, von der du nicht weißt obs $_POST oder $_GET oder $_SESSION ist, dann kannst du diese mit $_REQUEST abfragen. Noch irgenwelche anderen Fragen ;)
 
Zuletzt bearbeitet:
Dönerman hat gesagt.:
Was bringt mir das jetzt? Jetzt habe ich dir Wörter, nachdem ich suche in einen array drin!

Mhm lass uns nachdenken , du suchst jetzt jedes Wort einzeln ? ;)

Alternativ kannst ja noch angeben das du gerne einen ganzen String suchen möchtest sofern dieser in Anführungsstrichen steht.
 
Zurück