0

这就是我想要做的:提交表单时(通过单击按钮)

  1. 我想使用 PHP 向 MySQL 数据中插入一些数据
  2. 基于插入的成功,我想运行一些 JavaScript(JS) 代码。(实际上,将使用 AJAX 从 JS 数组中插入更多数据,但在下面的测试代码中,我只是在数组中显示警报)。另外,我需要先执行 PHP,因为我需要使用该mysqli_insert_id()函数通过 PHP 从 MySQL 获取 autoincremetn ID。
  3. 插入所有数据后(或 PHP 和 JS 代码都已执行),我想返回到发起提交的同一页面,在测试代码中调用此页面test.php

以下是我的测试代码(在test.php页面中):

<?php

// Require the configuration which controls controls error reporting:
require ('config.inc.php');

// Require the database connection:
require (MYSQL);

/* PAGE CONTENT STARTS HERE! */
?>
<!DOCTYPE html>
<html lang="en">
<head> 
<meta charset="utf-8">
<!--JQUERY-->
<script type="text/javascript" src="js/jquery-1.8.2.min.js" ></script>

<script type="text/javascript">
    var store_categories = []; 
    function init_filtering() {
        store_categories.push('data1');
        alert ("alert1: "+ store_categories);
    }
</script>

<script type="text/javascript">$( init_filtering );</script>

</head>  
<body>

<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      $q = "INSERT INTO sms_category (sms_updated_id, category) VALUES (1, 'categories')";      
      $r = mysqli_query ($dbc, $q);
    }

if (mysqli_affected_rows($dbc) == 1) {
?>
    <script type="text/javascript">
        alert ("alert2: "+ store_categories);
    </script>
<?php
} // end if
?>

<form id="edit_data" action="test.php" method="post">
<input type="submit" value="Save">
</form>

</body>
</html>

现在发生了什么:

  1. Alert1 正确显示store_categories数组中的数据
  2. 但是当我点击提交按钮时,Alert2 仍然显示空白(或者,只有“alert2:”,即无法显示store_categories数组中的值)。

所以,这是我的问题:

  1. 为什么 alert2 不显示store_categories数组?
  2. store_categories当我单击提交按钮时,我该怎么做才能使数组具有其值?

提前感谢您的帮助。

4

1 回答 1

0

可能有效 试试看。我认为提交表单时只会显示第二个警报。

<script type="text/javascript">init_filtering()</script>
    <?php
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
          $q = "INSERT INTO sms_category (sms_updated_id, category) VALUES (1, 'categories')";      
          $r = mysqli_query ($dbc, $q);
if (mysqli_affected_rows($dbc) == 1) {
   ?>
        <script type="text/javascript">
            alert ("alert2: "+ store_categories);
        </script>
    <?php
    } 
        }

        ?>
于 2012-11-03T06:25:22.337 回答