Zły podział stron

Tutaj udzielane jest wsparcie przy problemach związanych z instalacją, konwersją, aktualizacją oraz użytkowaniem phpBB 2.0.x.
Patrycja
Posty: 1
Rejestracja: 29 czerwca 2007, 00:14

Zły podział stron

Post autor: Patrycja » 29 czerwca 2007, 00:26

Witam ,
problem polega na złym podziale stron tzn. userzy zapisali 38 stron w temacie a wyświetla się 39 z tego powodu klikając w szybkie ogladanie posta" X Zobacz ostatni post" wyświetla się komunikat "Nie istnieją żadne posty dla tego tematu". Co i gdzie trzeba zmienić aby wyświetlało się to prawidłowo.

P.S. starałam sie zmienić ilośc postów na stronie - jednak już nie przynosi to rezultatu - przyniosło tylko za pierwszym razem -a teraz to nawet nie pamietam jak w ustawianiach startowych było. Proszę o pomoc. Jak będzie trzeba podać linka do forum to dajcie znać.
Z góry dziękuję i pozdrawiam.

Awatar użytkownika
mateusz
Zasłużony
Posty: 2174
Rejestracja: 14 maja 2005, 17:43
Lokalizacja: JAWORZNO
Kontakt:

Post autor: mateusz » 29 czerwca 2007, 09:20

po pierwsze to kopia bazy danych. bo operacje mogą się okazać ryzykowne szczególnie jak coś nie wypali.

rozwiązanie 1
w phpmyadminie uruchom kod:

Kod: Zaznacz cały

SELECT * 
FROM phpbb_posts p 
LEFT JOIN phpbb_posts_text pt ON p.post_id = pt.post_id 
WHERE pt.post_id IS NULL;
i usuń znalezione wpisy. potem uruchom synchronizacje w PA

ewentualne rozwiązanie 2
stwórz plik: w.php z zawartością:

Kod: Zaznacz cały

<?php 

define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
$sql = "SELECT topic_id, post_id FROM phpbb_posts"; 
$res = mysql_query($sql) or die(mysql_error()); 
while($row = mysql_fetch_array($res)) 
{ 
                if($_GET['mode'] == 'one') 
                { 
                        $sql2 = "SELECT post_id FROM phpbb_posts_text WHERE post_id =".$row['post_id']; 
                        $res2 = mysql_query($sql2) or die(mysql_error()); 
                        if(mysql_num_rows($res2) == 0) 
                        { 
                                $sql3 = "DELETE FROM phpbb_posts WHERE post_id=".$row['post_id']; 
                                $res3 = mysql_query($sql3) or die(mysql_error()); 
                        } 
                } 
                $S[$row['topic_id']]++; 
} 
if($_GET['mode'] == 'two') 
{ 
        foreach($S AS $topicid => $count) 
        { 
                $sql = "UPDATE phpbb_topics SET topic_replies = $count WHERE topic_id = $topicid"; 
                mysql_query($sql); 
        } 
} 
?> 
Wysyłamy plik na serwer, wchodzimy na adres
http://TwojeForum.pl/w.php?mode=one
Jeżeli serwer sie nie spali wchodzimy na
http://TwojeForum.pl/w.php?mode=two



rozwiązania znalezione w necie. nie biorę odpowiedzialności za efekty. i przypominam obowiązkowo o KOPI BAZY DANYCH
Zapraszam również na moje forum: www.indianie.info
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.

Zablokowany

Wróć do „Pomoc”