2016-04-14 10 views
0

POSTを使用してPHPフォームで作業していて、動的HTMLテーブルを使用しています。 DBテーブルを切り捨てて、テーブルにデータを挿入する前に毎回切り捨てます。選択クエリを使用してページのロード時には(UIの一部を更新する)PHPで選択したクエリが更新されたレコードを取得しない

選択クエリ

$query = 'SELECT * FROM TABLENAME'; 
$result = mysqli_query($dbConnection, $query); 
$rows = array(); 
if(!$result) 
{ 
    //log error 
} 
if ($result->num_rows > 0) 
{ 
    while($row = $result->fetch_assoc()) 
    { 
     print_r($row); 
     $rows[] = $row; 
    } 
} 

挿入部分が

if(isset($_POST['u'])) 
{ 
    foreach($_POST['u'] as $key => $value) 
    { 
     $ky = $_POST['x'][$key]; 

     $query = "INSERT INTO TABLENAME (ID,KY) VALUES ($value, '$ky')"; 
     $result = mysqli_query($dbConnection, $query); 
    } 
} 

ただし、投稿時に、それがないように思えます挿入された最新のレコードを取得するには、レコードがPhpMyadminに正しく挿入されていることを確認してください。

ページをリロードすると正常に動作します。更新されたレコードがPOSTされたときには取得されませんが、それ以降の処理は実行されます。

私はそれが接続オブジェクトに起因する可能性があり、運がない別の接続オブジェクトを使用しようとしました。

INFO:影響があるかどうかはわかりませんが、データベースはWordPressで、このデータベースには新しいテーブルが作成されています。

事前のおかげで...

+0

どのような結果が得られますか?クエリはPHPの外で実行されますか? –

+0

POSTを生成するフォームはどこにありますか? – Stevish

+0

@NickMaroulis選択クエリの結果が更新されていない、現在2行のデータがあり、1行追加すると、選択クエリは2行の古いデータを返します。しかし、私は再び同じページをリロードすると、3行をフェッチします。 – Questions

答えて

1

問題は、完全なデータセットを得るためにあなたのINSERTクエリ後SELECTクエリを実行する必要があるということです。

別のページに投稿し、INSERTの後に元のページにユーザーをリダイレクトすることを検討することがあります。これにより、ページがリロードされるため、SELECTが再び実行されます。

+0

はい。 UPDATE php stuffがHTMLフォームの後ろであっても、SELECTが再び実行された後、ページが2回目に読み込まれるまで実行されません。 – Stevish

関連する問題