Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX] Shoutbox, zmiana wyświetlania wyników, na odwrót
tomekpl
post 25.12.2008, 11:58:29
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Witam,
Wyszukałem w sieci shoutbox ajax.(Trudno nie było znaleźć)
http://webscripts.softpedia.com/script/Cha...Ajax-39032.html

No i tak:
- Shoutbox opiera się na pliku txt
- Dodałem opcje, że dodaje posty do bazy mysql, aby wyświetlać je w "Archiwum"
- Wartość teraźniejszą odczytuje w pliku txt

Skrypt jest podzielony na "odbierz" i "wyświetl"

Odbierz - Zapisuje post, user, data to txt
oraz do bazy mysql

Wyświetl - Wyświetla wyniki z pliku txt i tak:
Zmieniłem sortowanie, aby było odwrotnie, najnowsze wiadomości u góry i jest ok jak wejdziesz na strone, ale jak ktoś doda post to idzie na sam dół, i tu jest problem:

Nie wiem jak zrobić, aby wpisany post szedł zaraz na samą górę.

Wiem, że rozwiązanie problemu zajmie chwilkę czasu, ale z góry dziękuje. Jeżeli coś jest nie zrozumiałe to proszę pisać.

tutaj moja strona:
http://tv.dobryrap.pl/
shoutbox jest na dole
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
slammer
post 25.12.2008, 12:14:10
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


zapewne używasz AJAX do wpisania wiadomosci bezposrednio w okno shoutboxa... są dwie opcje winksmiley.jpg jak dodajesz tekst to pokombinuj z insertBefore. Druga opcja, pobieraj ajaxem całą zawartość pliku tektowego zaraz po tym jak wpisales do niego wartość i po prostu wczytuj respondTekst do okna shoutboxa.

ps.
Cytat(tomekpl @ 25.12.2008, 11:58:29 ) *
Zmieniłem sortowanie, aby było odwrotnie, najnowsze wiadomości u góry i jest ok jak wejdziesz na strone, ale jak ktoś doda post to idzie na sam dół, i tu jest problem:

nie wiem dokladnie o co chodzi i co tu sortować, problem sprowadza się do ustawienia odpowiedniej flagi w funkcji fopen winksmiley.jpg

Ten post edytował slammer 25.12.2008, 12:15:42
Go to the top of the page
+Quote Post
tomekpl
post 25.12.2008, 12:45:45
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


To że czyta od " Ż do A " tylko że u mnie jest to data
rsort($arr);


case 'view':
$data = array();
$arr = file('messages.txt');

rsort($arr);
if(!$_GET['time'])
$_GET['time'] = 0;
foreach($arr as $row) {
$aTemp = null;
list($aTemp['time'], $aTemp['nickname'], $aTemp['message']) = explode('|', $row);
if($aTemp['message'] AND $aTemp['time'] > $_GET['time'])
$data[] = $aTemp;
}
//file_put_contents('debug.txt', print_r($data, true));
break;

Zaraz zobacze z tym InsertBefore.

Kod
    wrap: function() {
        // The elements to wrap the target around
        var a = jQuery.clean(arguments);

        // Wrap each of the matched elements individually
        return this.each(function(){
            // Clone the structure that we're using to wrap
            var b = a[0].cloneNode(true);

            // Insert it before the element to be wrapped
            this.parentNode.insertBefore( b, this );

            // Find the deepest point in the wrap structure
            while ( b.firstChild )
                b = b.firstChild;

            // Move the matched element to within the wrap structure
            b.appendChild( this );
        });
    },


Znalazłem taki kod smile.gif Powiem, że w ajax jestem na razie ciemny.

ps... trochę dłuższy ten kod jest... 60 pare kilo ma
jquery.js w plikach masz ta gdzie podalem link

Ten post edytował tomekpl 25.12.2008, 12:36:46
Go to the top of the page
+Quote Post
slammer
post 25.12.2008, 12:48:01
Post #4





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


acha jendak używasz tablicy file biggrin.gif



Widzę, że używasz jquery. W funkcji succes zamiast append daj 'Before', być może przyniesie oczekiwany rezultat .

Ten post edytował slammer 25.12.2008, 13:07:09
Go to the top of the page
+Quote Post
tomekpl
post 25.12.2008, 12:58:20
Post #5





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


jaki to plik ?

Ten post edytował tomekpl 25.12.2008, 12:59:59
Go to the top of the page
+Quote Post
slammer
post 25.12.2008, 13:02:10
Post #6





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


hmmm no sugerowałem się tym: http://docs.jquery.com/Manipulation/before. Tam wyżej dodałem zdjęcie z miejscem o które mi chodziło.To jest normalnie w indeksie wpisane.W firefox (ctr+u) i na sam dół zjedź

Ten post edytował slammer 25.12.2008, 13:05:03
Go to the top of the page
+Quote Post
tomekpl
post 25.12.2008, 13:11:07
Post #7





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


dodaje, ale jak sam widzisz ;] post pod postem
Go to the top of the page
+Quote Post
slammer
post 25.12.2008, 13:13:35
Post #8





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


tym razem chodzi o sam selektor:
Kod
$('#daddy-shoutbox-list').before(prepare(response));

być może tak
Kod
$('#daddy-shoutbox-list div').before(prepare(response));
Go to the top of the page
+Quote Post
tomekpl
post 25.12.2008, 13:18:22
Post #9





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Dziękuję smile.gif yahoo.gif

Ten post edytował tomekpl 25.12.2008, 13:18:33
Go to the top of the page
+Quote Post
slammer
post 25.12.2008, 13:22:05
Post #10





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


nie ma sprawy biggrin.gif jeszcze proponuję to samo zrobić w funkcji refresh

Kod
$('#daddy-shoutbox-list').append(prepare(json[i]));

na
Kod
$('#daddy-shoutbox-list div').before(prepare(json[i]));
Go to the top of the page
+Quote Post
tomekpl
post 25.12.2008, 17:11:08
Post #11





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


zrobilem i nie dziala

tak działa:
$('#daddy-shoutbox-list').append(prepare(json[i]));




tak nie działa:
$('#daddy-shoutbox-list').before(prepare(json[i]));

tak nie działa:
$('#daddy-shoutbox-list div').before(prepare(json[i]));

psssss
wie ktos questionmark.gif?

Ten post edytował tomekpl 25.12.2008, 13:32:47
Go to the top of the page
+Quote Post
mhs
post 3.04.2009, 10:11:12
Post #12





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Nie wiem na ile jest to już aktualne, ale te dwie linie kodu maja wygladac w sposob nastepujacy:

Kod
$('#daddy-shoutbox-list').prepend(prepare(response));

$('#daddy-shoutbox-list').prepend(prepare(json[i]));


czyli append zmieniamy na prepend.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:00