Fehlerhafte Suche bei der Anzeige aller User-Posts

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Fehlerhafte Suche bei der Anzeige aller User-Posts

Beitrag von oxpus »

Wenn man in einem grösseren Forum alle Beiträge eines Users anzeigen lässt, der bereits recht viel verfasst hat, kann man ggf. nicht mehr in den Ergebnissen blättern.
Schuld daran ist die Speicherung der IDs in der Suchergebnistabelle, die mit der Definition TEXT hier nur recht wenige Ergebnisse zulässt.

Erste Abhilfe schafft dieser SQL-Befehl:

Code: Alles auswählen

ALTER TABLE phpbb_search_results CHANGE COLUMN search_array search_array longtext NOT NULL;
Damit wird ein entscheidendes Feld vergrössert, um umfangreichere Suchergebnisse verfügbar zu halten.
Ist selbst das nicht mehr ausreichend, wäre diese Stelle in der search.php nicht mehr auszukommentieren:

Code: Alles auswählen

		//
		// Limit the character length (and with this the results displayed at all following pages) to prevent
		// truncated result arrays. Normally, search results above 12000 are affected.
		// - to include or not to include
		/*
		$max_result_length = 60000;
		if (strlen($search_results) > $max_result_length)
		{
			$search_results = substr($search_results, 0, $max_result_length);
			$search_results = substr($search_results, 0, strrpos($search_results, ','));
			$total_match_count = count(explode(', ', $search_results));
		}
		*/
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ab wieviel Beiträgen eines User kann es zu dem Problem kommen?
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, ist schwer zu sagen. Das hängt letzlich von den Topic-IDs/Post-IDs ab, also deren Länge.
Je weiter fortgeschritten sich diese IDs bereits bewegt haben, desto weniger kann man abfragen, ohne das Feld umstellen zu müssen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

ich habe folgende problem,wen ich von einem user beiträge in einem beshtimten forum suche bekomme ich die fehler meldung sie haben keine rechte zu suchen?

Hilft das für weiter?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, ist die Frage, was Du an der search.php geändert hast (MODs), um die Abfragen zu zerbröseln...
Häng doch mal die Datei an, um einen Blick reinzuwerfen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Danke dir,hier ist sie
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ersetze in der Datei mal

Code: Alles auswählen

if (isset($_POST['search_where']) || isset($_GET['search_where']))
{
	$search_where = (isset($_POST['search_where'])) ? $_POST['search_where'] : intval($_GET['search_where']);
	$search_where = ($search_where == 'Root') ? 'Root' : intval($search_where);
}
else
{
	$search_where = 'Root';
}
durch

Code: Alles auswählen

$search_where =  ( isset($HTTP_POST_VARS['search_where']) ) ? $HTTP_POST_VARS['search_where'] : 'Root';
(Ist recht oben am Anfang der Datei)
Wenn das nichts hilft, dann schick mir mal einen Link zu Deiner Suche.
Dieser Part wird vom Categories Hierarchy MOD eingefügt, vielleicht ist bei Dir da was defekt dran...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

es klapt danke :respect:
Antworten