Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как сделать чтобы страница перезагружалась после изменений в БД на jquery / 8 сообщений из 8, страница 1 из 1
18.08.2014, 20:12
    #38722933
trom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
Есть такая схема
при заходе на страницу Create_zapis_v_dnevnik.php идет запрос в БД, если результат положительный то выполняется javascript код

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<script>
           var conf=confirm('Прошло больше 20 часов создать новый день?');
           if(conf){   
           
     $(function() {        
 $('.new_day').load('dnevnik_dop.php?create_new_day=1');
        });     
    
           }
 </script>



на странице dnevnik_dop.php идет запись в БД

после чего я бы хотел увидеть изменения сразу на Create_zapis_v_dnevnik.php
но чтобы увидеть изменения нужно перезагрузить страницу

Ставил javscript редирект
Код: javascript
1.
setTimeout( 'location="Create_zapis_v_dnevnik.php";', 0 );


на страницу dnevnik_dop.php сразу после того как была запись в БД, но он срабатывает очень медленно, секунд 5 надо ждать

Подскажите что можно сделать чтобы после изменений в БД страница быстро перегрузилась или чтобы браузер подождал пока в БД запишутся изменения и продолжил грузить страницу
...
Рейтинг: 0 / 0
18.08.2014, 22:50
    #38723006
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
trom,

раза 3 перечитал, так и не понял что, откуда, куда и что нужно получить в итоге. Можете привести полный код и человеческим языком описать что надо получить?
...
Рейтинг: 0 / 0
19.08.2014, 11:24
    #38723238
trom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
SharuPoNemnogu,

Create_zapis_v_dnevnik.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<div class=new_day></div>
<script>
           var conf=confirm('Прошло больше 20 часов создать новый день?');
           if(conf){   
           
     $(function() {        
 $('.new_day').load('dnevnik_dop.php?create_new_day=1');
        });     
    
           }
 </script>

<?
$id_dna = current_day($pgsql_conn);
echo $id_dna;
?>




dnevnik_dop.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if (isset($_GET['create_new_day'])) {
    
 $user_id=$_SESSION['user_id'];     
 $create_date = date('Y-m-d H:i:s');     
 
 
$res = pg_query($pgsql_conn, "INSERT INTO dni VALUES (default, '$create_date', default, 1, $user_id) RETURNING id;");
$id = pg_fetch_result($res, 0, 0);

    ?><script>   setTimeout( 'location="Create_zapis_v_dnevnik.php";', 0 );  </script><?

}



Вот оба файла, после нажатия кнопки ОК во всплывающем окне код в файле Create_zapis_v_dnevnik.php
идет вставка новой записи в БД в файле dnevnik_dop.php

после чего хочу увидеть новое значение переменной $id_dna в файле Create_zapis_v_dnevnik.php, для этого в файле dnevnik_dop.php сделал редирект чтобы страница обновлялась, но обновление идет очень долго, отсюда вопрос как сделать чтобы страница Create_zapis_v_dnevnik.php грузилась с уже обновленными данными ?
...
Рейтинг: 0 / 0
19.08.2014, 11:35
    #38723251
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
trom, а можете изначальную задачу описать, абстрагируясь от Вашей текущей недореализации?
...
Рейтинг: 0 / 0
19.08.2014, 13:42
    #38723449
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
trom,

сделайте через ajax, а не через load
Код: javascript
1.
2.
3.
4.
5.
6.
7.
$.ajax({
         url: 'dnevnik_dop.php?create_new_day=1',
         cache: false,
         success: function(res){
                  $('.new_day').html(res);
          }
});


и в dnevnik_dop.php вместо вашего <script> сделайте echo $id;
...
Рейтинг: 0 / 0
19.08.2014, 13:47
    #38723457
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
SharuPoNemnogutrom,

сделайте через ajax, а не через loadХм, а смысл? load вроде как имеет подходящий параметр за номером три да и возвращает deffered.
...
Рейтинг: 0 / 0
19.08.2014, 13:54
    #38723465
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
skyANA,

ну в принципе да, не люблю я его просто). Суть то та же, прямо там выводить новый id, без перезагрузок.
...
Рейтинг: 0 / 0
19.08.2014, 15:04
    #38723549
trom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать чтобы страница перезагружалась после изменений в БД на jquery
skyANA,

Задача в общем такая, при заходе на страницу идет проверка даты создания дня
если день создан 20 или более часов назад вызываеться яваскрипт окно предлагающее создать новый день

если пользователь нажимает ДА то нужно вызвать код создания новой записи в БД и чтобы вся страница в браузере обновилась

Вот описание всей задачи


SharuPoNemnogu
автори в dnevnik_dop.php вместо вашего <script> сделайте echo $id;
делать echo $id это даже не цель, это просто я для примера оставил чтобы показать что мне надо чтобы это $id было новое после создания нового дня, на странице грузиться куча другой инфы

по аякс совсем мало опыта, так что хотелось бы знать для начала что он точно мне поможет
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как сделать чтобы страница перезагружалась после изменений в БД на jquery / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]