2009-11-13 4 views
0

Я здесь новый. Я просто создаю код, который может читать данные из базы данных mysql. Но когда я добавляю новые данные внутри databse, моя php-страница не может обновить собственную автоматическую. Я хочу, чтобы страница автоматически обновлялась при нажатии кнопки f5 и обновлялась. Может ли кто-нибудь помочь мне решить эту проблему?Как автоматически обновлять базу данных без обновления с помощью ajax?

Неправильно?

<script type="text/javascript"> 
function List(){ 
    var ajaxRequest; 
    var selectedProduct = ""; 
    var product = document.getElementById('product'); 
    var output ="";   
    var k = 0; 
// var name = new Array; 
// var model = new Array; 
    var unitprice = new Array; 
    var queryString = new Array; 

    queryString = "&name=" + txtname + "&model=" + txtmodel + ; 
      ajaxRequest.open("GET", $productPrice + queryString, true); 
      ajaxRequest.send(null); 
    ajaxRequest.open("GET", $productPrice + queryString, true); 
    ajaxRequest.send(null); 

     <?php foreach ($productPrices as $price): ?> 
      name[k] = "<?php echo $price['Product']['txtname']; ?>"; 
      model[k] = "<?php echo $price['Product']['txtmodel']; ?>"; 
      k++; 

     <?php endforeach; ?> 

     k=0; 
     for (var i = 0; i < product.length; i++) { 
       k = product.options[i].value; 

      if (product.options[i].selected) { 
       output += '<tr>'+ 
           '<td style="border-right: 0px; width:270px; text-align:center" id="ProductProduct'+k+'" name="data[Product][Product]['+k+']">'+name[i]+'</td>'+ 
           '<td style="border-right: 0px; width:100px; text-align:left" id="ProductProduct'+k+'" name="data[Product][Product]['+k+']">'+model[i]+'</td>'+ 
          '</tr>';  
      } 
     } 
     output = '<table style="width:500px; border: 0px;">'+output+'</table>';   
     document.getElementById('productTable').innerHTML = output; 
}     
</script> 
+1

javascriptlibrary может облегчить эту работу – Natrium

+0

Да, хотя вы работаете с тем, что у вас есть, где вы называете список функций? – LiamB

+0

с использованием jQuery? –

ответ

1

Вам нужно какое-то повторная проверка AJAX на странице, чтобы увидеть, если есть новые данные в базе данных. Вы можете сделать это, используя setTimeout или setInterval.

E.g.

function CheckData() { 
    List(); 
    setTimeout(CheckData, 10000); 
} 
+0

@ck: просто комментарий, я не знаю, сколько данных мы говорим и сколько пользователей, но которые собираются загрузить сервер * быстро * .... – RageZ

+0

@RageZ - это просто потенциальное решение. Тайм-аут может быть расширен, и в идеале он должен быть профилирован, чтобы сделать более медленные части более эффективными. – cjk

0
setInterval(function() { 
    List(); // your function 
     // Do something every 2 seconds 
}, 2000); 

это функция JQuery, это поможет вам.

Смежные вопросы