Auto odswiezanie diva jak zrobić?

Witam.

Mam div id refresh i w nim kod pobierajacy i wyświetlający email z bazy danych.

Jak zrobić żeby on odswiezał się co 10 sec??

Szukałem i znalazłem dużo koduw to js to ajax ale żaden nie działał, a przynajmniej ja nie umiałem go ustawić żeby działał.

Bardzo proszę pomóżcie. Nie znam ani js ani ajax znam jedynie php.

Wiem że w js się da ale jeszcze nie jestem w stanie sam czegoś takiego zrobić.

Jeśli znacie strone na której jest działający kod i opisane jak go ustawic to możecie dać link.

Ja znalazłem dużo stron ale nic nie działa.

Proszę pomóżcie mi.

Przyda Ci się funkcja odpalana z JS co określony czas, a funkcja ta powinna używać Ajax’a do pobierania najświeższych danych. Ostatnio było o elementarnym użyciu Ajax’a na blogu, parę zmian i masz swoją działającą wersję :slight_smile: http://www.dobreprogramy.pl/slepciu/AJAX-i-jQuery-cz,31571.html

“Mam div id refresh i w nim kod pobierajacy i wyświetlający email z bazy danych.”

Ten kod w nim to jest PHP? To pewnie dlatego Ci “nie działa”. Jeśli chcesz odświeżać tylko wnętrze tego diva w ten sposób, to to w taki łatwy sposób nie jest możliwe. Musiałbyś wydzielić tą część do osobnego skryptu i z użyciem setInterval i XMLHttpRequest (czy tam poprzez jQuery) co te 10 sekund pobierać z serwera to, co zwróci ten wydzielony skrypt i wpisywać to do tego diva.

@kazuldur jeśli dobrze zrozumiałem to nie masz racji z

.

jQuery load

http://api.jquery.com/load/

Loading Page Fragments

Dobra dzięki poczytam to co podaliście i spróbuje coś zrobić jak nic nie wyjdzie to jutro napisze znowu.

Jak zamierzasz napisać znowu, to radzę ci wcześniej wstawić tutaj kod / wynik / błąd bo ludzie nie są jasnowidzami :slight_smile:

jQuery nie znam, ale z krótkiej lektury wnioskuję, że rzeczywiście jest to łatwe. O ile autor wątku chce używać jQuery :).

Niestety sam sobie nie poradzie. Nie znam ajaxa, js nie rozumiem tych manuali.

Jak by ktoś mógł to bardzo prosiłbymzeby napisał bo ja nie dam rady niestety.

Wogule nie rozumiem ajaxa, jQuery ani js.

Dodane 15.05.2012 (Wt) 12:41

A nie da się tego zrobić z SETTIMEOUT w js?? bo wiem ze to wykonuje kod co jakis czas

Spróbuj takiego manuala

?> [/code]

nie wiem co chcesz odswieżyć w divie,animacje czy coś podobnego???

W divie jest kod pobierający i wyświetlający dane z mysql. i chodzi mi o to zeby ten kod odswiezał się co 10 sec. bo na tej samej stonie mam możliwość zmiany tej danej i po zmianie jest tekst że zmieniono a wyświetla się dalej to samo co przed zmianą dopiero po odswiezeniu wyświetla poprawnie.

Ten twój kod też zadziała na to co ja chce uzyskac??

To zmień czas odświeżania.

Skoro chcesz załadować treść musisz obsłużyć w php wyświetlanie samej zawartości div’a. Po czym pobierz to ajax’em i tyle :slight_smile:

Load batmobila wymaga include w miejscu twojego div’a + load pliku include’owanego :slight_smile:

Co do php, nawet nie próbuj o to pytać (powiedziałeś że znasz), a co do ajax’a masz wyżej :slight_smile:

Mam na stronie taki kod:

<?php require(‘dodaj/conf.php’); $query=mysql_query(“SELECT emai FROM users WHERE log=’$konta’”); $i=0; while($row=mysql_fetch_assoc($query)) { $wyniki[$i]=$row; $i++; } $email=$wyniki[0][‘emai’]; echo ("$email"); ?>
[/code] Który wyświetla email i działa tylko trzeba go odświezać. Po czym pobierz to ajax’em i tyle. Jak to zrobic??

[code]

O to chodzi czy o co??

Nie zmieniłeś id w load + include w miejscu twojego div’a + load pliku include’owanego. Load ładuje dane zwrócone przez plik w jego argumencie. Więc nie możesz w tego diva ładować diva znów, bądź co gorsza całej strony. (pewnie przemilczałeś, że ten kod masz w kodzie całości).

To co masz w tym div, wrzuć w osobny plik, daj w tego diva include. Potem w load wpisz jego nazwę.

Spróbuj wstawić zmienną z $email

a jak nie to utwórz osobny plik php.

Batmobil, weź mnie nie rozśmieszaj. I co on ma niby ładować ? Adres e-mail ? :slight_smile:

Zrobiłem tak:

<?php include(“refreshemail.php”); ?>
[/code] i 2 plik refreshemail.php

[code]<?php session_start(); if (!isset($_SESSION[‘nick’])) { header(“location:index.php”); } $konta = $_SESSION[‘nick’]; require(‘dodaj/conf.php’); $query=mysql_query(“SELECT emai FROM users WHERE log=’$konta’”); $i=0; while($row=mysql_fetch_assoc($query)) { $wyniki[$i]=$row; $i++; } $email=$wyniki[0][‘emai’]; echo ("$email"); ?>

Email wyświetla ale nie odswieza czego jeszcze nie rozumiem??

Mówił ci ktoś by dopisywać jakieś sesje / przekierowania do tego kodu ?

Btw, ten kod jakiś nie tenteges. Ja bym zrobił tak:

W head:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">[/code]
Div'a zostawiasz tak jak był:
[code=php]


Potem plik refreshemail.php:



?php('dodaj/conf.php');

Uncaught exception: ReferenceError: Undefined variable: $

Error thrown at line 2, column 1 in http://www.robotica.chmurka.pl/ustawienia.php:

$(document).ready(function() {

coś takiego mam

Na pewno masz w head linię:

??