За последние 24 часа нас посетили 16497 программистов и 1677 роботов. Сейчас ищут 938 программистов ...

Обновление информации

Тема в разделе "JavaScript и AJAX", создана пользователем vodorod, 10 июн 2011.

  1. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Скажите в чем ошибка, задумка: Обновлять информацию из файла post.php каждую секунду
    im.php
    PHP:
    1.  
    2. <html>
    3. <head>
    4. <script type="text/javascript" src="jquery.js"></script>
    5. </head>
    6. <body>
    7. <?
    8. include('bd.php');
    9. if(empty($_GET['ids'])){
    10. $vopros=$_POST['vopros'];
    11. $ids=$_POST['ids'];
    12. print "Ссылка на вопрос: <a href='http://test1.ru/den/im.php?ids=".$ids."'>http://test1.ru/den/im.php?ids=".$ids."</a>";
    13. print "<br>Вопрос: ".$vopros;
    14. $sql="INSERT INTO `den`.`voprosi` (`id`, `ids`, `vopros`, `otvet`) VALUES (NULL, '$ids', '$vopros', '');";
    15. $res=mysql_query($sql);
    16.  
    17. $sql="SELECT * FROM voprosi WHERE ids=$ids";
    18. $res=mysql_query($sql);
    19. $data = mysql_fetch_array($res);
    20.  
    21.  
    22. } else {
    23. $ids=$_GET['ids'];
    24. $sql="SELECT * FROM voprosi WHERE ids=$ids";
    25. $res=mysql_query($sql);
    26. $data = mysql_fetch_array($res);
    27. print "Ссылка на вопрос: <a href='http://test1.ru/den/im.php?ids=".$data[ids]."'>http://test1.ru/den/im.php?ids=".$data[ids]."</a>";
    28. print "<br>Вопрос: ".$data[vopros];
    29. }
    30.  
    31. ?>
    32. <div id="otvet">Ответ: </div>
    33.  
    34. <script>
    35. function show()  
    36.         {  
    37.             $.ajax({  
    38.                 url: "post.php",  
    39.                 cache: false,
    40.                 type: "POST",
    41.                 data: {ids: 23219608018865594360731828430652920523685},  
    42.                 success: function(html){  
    43.                     $("#otvet").html(html);  
    44.                 }  
    45.             });  
    46.         }
    47.  
    48. $(document).ready(function(){  
    49.             show();  
    50.             setInterval('show()',1000);  
    51.         });  
    52. </script>
    53. </body>
    54. </html>
    55.  
    post.php
    PHP:
    1.  
    2. <?
    3. include('bd.php');
    4. $ids=$_POST['ids'];
    5. $sql="SELECT * FROM voprosi WHERE ids='$ids'"
    6. $res=mysql_query($sql);
    7. $data = mysql_fetch_array($res);
    8. echo($data[otvet]);
    9. ?>
    10.  
     
  2. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    зачем?
     
  3. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Тут неважно что каждую секунду, важно что скрипт не работает. А количество секунд можно и поменять
     
  4. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    попробуй через setTimeout который сам себя вызывает
     
  5. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Это как?
     
  6. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    [js]function show(){
    $.ajax({
    url: "post.php",
    cache: false,
    type: "POST",
    data: {ids: 23219608018865594360731828430652920523685},
    success: function(html){
    $("#otvet").html(html);
    setTimeout(function(){ //самовызов
    show();
    }, 2000);
    }
    });
    }


    $(document).ready(function(){
    show();
    }); [/js]
     
  7. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    посмотрел в Firebug, при запросе в файл post.php пишет: 500 Internal Server Error. Думал из за того что число слишком большое поменял на 232196080188, все равно тоже самое пишет
    Во заголовки:
    Заголовки ответа
    Date Sat, 11 Jun 2011 13:40:34 GMT
    Server Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.1
    X-Powered-By PHP/5.3.1
    Content-Length 0
    Connection close
    Content-Type text/html; charset=windows-1251
    Заголовки запроса
    Host test1.ru
    User-Agent Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    Accept */*
    Accept-Language ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding gzip, deflate
    Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
    Keep-Alive 115
    Connection keep-alive
    Content-Type application/x-www-form-urlencoded; charset=UTF-8
    X-Requested-With XMLHttpRequest
    Referer http://test1.ru/pol/
    Content-Length 16
     
  8. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    $(function() {
    setInterval('show()', 1000);
    });
     
  9. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    Все заработало. Еще вопрос
    Вот функция:
    [js]
    function rand(){
    $.ajax({
    url: "func.php",
    cache: false,
    success: function(html){
    var a=$("#po").val(html);

    }
    });
    }
    [/js]
    Как правильно сделать чтобы в переменную а сохранялось значение которое было передано из файла func.php
     
  10. vodorod

    vodorod Активный пользователь

    С нами с:
    10 янв 2011
    Сообщения:
    217
    Симпатии:
    0
    даже нет. Как отправить серверу неколько переменных сразу, пробовал вот так:

    [js]
    data: ({vopros : $('#vopros').val(),ids:$('#ok').val()}),
    [/js]
    Но вторая переменная просто остается пустой, так вот , как отправлять по несколько переменных?
     
  11. zebra

    zebra Активный пользователь

    С нами с:
    11 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Код (Text):
    1.  
    2. data : { vopros : $('#vopros').val(), ids : $('#ok').val() }