这就是我想要做的:提交表单时(通过单击按钮)
- 我想使用 PHP 向 MySQL 数据中插入一些数据
- 基于插入的成功,我想运行一些 JavaScript(JS) 代码。(实际上,将使用 AJAX 从 JS 数组中插入更多数据,但在下面的测试代码中,我只是在数组中显示警报)。另外,我需要先执行 PHP,因为我需要使用该
mysqli_insert_id()
函数通过 PHP 从 MySQL 获取 autoincremetn ID。 - 插入所有数据后(或 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>
现在发生了什么:
- Alert1 正确显示
store_categories
数组中的数据 - 但是当我点击提交按钮时,Alert2 仍然显示空白(或者,只有“alert2:”,即无法显示
store_categories
数组中的值)。
所以,这是我的问题:
- 为什么 alert2 不显示
store_categories
数组? store_categories
当我单击提交按钮时,我该怎么做才能使数组具有其值?
提前感谢您的帮助。