2016-10-09 8 views
1

自動リフレッシュを使用するとのコードでの自動リフレッシュを使用すると、最後のレコードの値のみを返すmysqliクエリがあります。それはうまく動作します。私がオートリフレッシュを使用するときに直面している問題のみ。php mysqlは自動リフレッシュを使用すると最後の行のみを返します

$(document).ready(function(){ 
    refreshTable(); 
}); 

function refreshTable(){ 
    $('.tableHolder').load('itemtotal_cart_checkout.php', function(){ 
     setTimeout(refreshTable, 1000); 
    }); 
} 

どうすれば解決できますか。

$ses_mem = $_SESSION['ses_user_id']; 
$getItem = $_GET['item_id']; 

$order_temp = "select * from temp_cart where item_id='".$getItem."' AND ses_mem='".$ses_mem."' order by id"; 
$tordera = $db->query($order_temp); 
$torder = $tordera -> fetch_assoc(); 

答えて

1

あなたのPHPコードは、item_idというGETパラメータを想定しています。だから、JavaScriptからそれを渡す必要があります。

$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId, 
    function(){ 
    setTimeout(refreshTable, 1000); 
    }); 

ここでは、JavaScriptで現在のクエリ文字列からitem_idを得ることができます方法は次のとおりです。

var m = location.search.match(/^.*[\?&]item_id\=(\d+)/); 
var itemId = m && m.length >= 2 ? m[1] : 0; 

、しかし、現在のページがPHPの混合物であり、HTML場合JavaScriptは、上記で、そしてちょうどのJavaScriptにPHPを埋め込む:JavaScriptは別のファイルに実行された場合

<script> 
/* skipped original code */ 
$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + <?php 
    echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0; 
?>, 
    function(){ 
    setTimeout(refreshTable, 1000); 
    }); 
/* skipped original code */ 
</script> 

最後に、あなたは、JavaScriptの機能を持つが必要アイテムIDの引数そして、あなたはPHPからこの方法でそれを呼び出すことができます

function refreshTable(itemId) { 
    $('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId, function() { 
     setTimeout(function() { refreshTable(itemId) }, 1000); 
    }); 
} 

<script> 
$(document).ready(function(){ 
    refreshTable(<?php echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0; ?>); 
}); 
</script> 

あなたはsetIntervalを使用する場合があります例えば、いくつかのscript.jsに次のような機能を持っているかもしれませんところで、setTimeoutへの再帰呼び出しの代わりに。

+0

私は 'のitem_id = <$ ROW_IDをエコーPHPとJavaScriptでのitem_idを作りたい;?は? ?> 'item_total_cart_checkout.php ** –

+0

@FahadAlmehainiで取得すると、JavaScriptコードに' $ _GET ['item_id'] 'を渡す必要があります。 JavaScriptコードがPHPスクリプトに埋め込まれている場合(現在のページにPHP、HTML、JavaScriptが混在している場合)、 'load( 'itemtotal_cart_checkout.php?item_id =' + <?php echo $ _GET ['item_id' ];?> ... ' –

+0

あなたはそれに従ってコードを調整してください。 –

0
このコードでPHPに

パスitem_id変数:

$(document).ready(function(){ 
    refreshTable(); 
}); 

function refreshTable(){ 
    $('.tableHolder').load('itemtotal_cart_checkout.php<?php echo '?item_id=1'; ?>', function(){ 
     setTimeout(refreshTable, 1000); 
    }); 
} 
関連する問題