1

RECORD SUCCESSFULLY INSERTEDmydql テーブルでレコードを更新または挿入した後、" " のような通知メッセージを作成しようとしています。

私は以下のようなコードを持っています

if(isset($_GET['submit'])){
   if ($stmt = $mysqli->prepare("UPDATE fin_year SET year = ?, remark=? WHERE ent_no=?"))
   {
      $stmt->bind_param("ssi", $year, $remark, $ent_no);
      $stmt->execute();
      $stmt->close();
  }

 // show an error message if the query has an error
  else
  {
    echo "ERROR: could not prepare SQL statement.";
  }
}

通知メッセージのアイデアはありますか..

4

4 に答える 4

2

AJAX を使用したくない場合は、クエリが正常に実行されたかどうかを確認し、通知メッセージを一時パラメーターに入れてビューに戻します

 $stmt->bind_param("ssi", $year, $remark, $ent_no);
      $stmt->execute();
$success=  $mysqli->affected_rows; 
if($success>0){
   echo "success";//or something like this
}else
  {
    echo "ERROR: could not prepare SQL statement.";
  }

      $stmt->close();
于 2013-09-30T10:46:13.173 に答える
1

上記で作成した PHP が Query の AJAX 関数を介して呼び出されている場合、そのメッセージも jQuery を介して生成する必要があります。AJAX 関数に適用できる成功のコールバックがあります

$.ajax({  
    type:'GET',  
    url:'file.php',  
    data:'',
    success: function() {
        alert('RECORD SUCCESSFULLY INSERTED');
    }
});

同様に、フォームを送信するときは、GET よりも POST を使用することをお勧めします。

于 2013-09-30T10:41:35.190 に答える
1

このコードを試してください (JS による通知 - アラート)。

    <?php
    if(isset($_GET['submit'])){
       if ($stmt = $mysqli->prepare("UPDATE fin_year SET year = ?, remark=? WHERE ent_no=?"))
       {
          $stmt->bind_param("ssi", $year, $remark, $ent_no);
          $stmt->execute();
          $stmt->close();
      }
    ?>
     // show an error message if the query has an error

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <?php


          else
          {
            echo "<script>alert('ERROR: could not prepare SQL statement.')</script>";
          }// if 2
        }// if 1
        ?>

    </head>
    <body>

    </body>
    </html>

必要に応じて、Fancy のような独自の POP-UP を使用して通知を表示できます。

于 2013-09-30T10:41:45.367 に答える
0

あなたはそれを間違っています、これを試してください

$stmt = $mysqli->prepare("UPDATE fin_year SET year = ?, remark=? WHERE ent_no=?");
$stmt->bind_param("ssi", $year, $remark, $ent_no);
if($stmt->execute()) { // returns a boolean true on success, false on failure
    echo 'RECORD SUCCESSFULLY INSERTED';
}
else {
    echo 'ERROR OCCURRED!';
}
$stmt->close();
于 2013-09-30T10:44:39.820 に答える