2017-08-30 27 views
0

現在、「followers_count」という列のデータベース更新を取得するためにjQueryを使用しています。問題は、データが送信されていないことです。問題がPHPかjQueryコード、あるいはその両方であるかどうかはわかりません。どんな助けもありがとうございます。 changes.phpでjQueryデータベースの更新を取得できません

<?php 

require_once 'dbconfig.php'; 
require_once 'class.channel.php'; 

$currNum = $_POST['currentNumber']; 

$seqNum = query("SELECT currval('followers_count')"); 

if ($seqNum == $currNum){ 
    exit(0); 
} 

$newNum = query("SELECT FROM follow WHERE followers_count > ".$currNum); 

while ($change1 = fetch_result($newNum)) { 
    echo "<count1>".$change1."</count1>"; 
} 

?> 

そしてindex.phpの中

<div> 
    <div id="follow_count"></div> 
</div> 

<script type="text/javascript"> 
$.post("changes.php", 
     { currentNumber }, 
     function(dat){ 
      $(dat).find('count1').each(function() { 
       $('#follow_count').append(""+$(this).text()+""); 
      }); 
}); 
</script> 
+0

」のようなものを返すのはなぜですか? – adeneo

+0

whileループで複数回エコーしています。あなたの応答をjsonとしてエコーしてください。また、投稿にエラー処理を追加して(ネットワークタブを調べる) – Rienk

+0

'$ .ajaxSetup({cache:false})'を試してください。それは応答をキャッシュしている可能性があります。 – TricksfortheWeb

答えて

0

ここでの本当の問題は、その後、

<count1>1</count1> 
<count1>2</count1> 
<count1>3</count1> 

など何かを返しているということですあなたはやっている

$(dat).find('count1') 

しかし、datには、それに一致する子孫要素はありません。それらはすべて「ルート」レベルにあります。

あなたは、フィルタ

$(dat).filter('count1') 

を使用しますが、なぜわざわざ、<count1>要素場合は、ちょうどこのすべての非常に間違っている、<count1> ISNとして、もちろん

$(dat).each(function() { ... 

を行うことができますので、あなたは、とにかく持っているすべての可能性XMLではなく、確かにHTMLではなく、何かを有効にします。
あなたがやるべきことは追加ボーナスとして代わりに

をJSONを返してquery()は魔法の何かをしない限り、あなたは、SQLインジェクションを大きく開いていますか?

関連する問題