为什么使用ajax我可以更新mysql,但不能使用mysql/php变量中的值?
所有这些都发生在一个php文件中 HTML代码为什么使用ajax我可以更新mysql,但不能使用mysql/php变量中的值?,php,ajax,json,Php,Ajax,Json,所有这些都发生在一个php文件中 HTML代码 <td> <input type="text" name="date_day1" id="date_day1" value="<?php echo $_POST['date_day1']?>" size="1"> </td> <td> <input type="text" name="amount1" id="amount1" value="&
<td>
<input type="text" name="date_day1" id="date_day1"
value="<?php echo $_POST['date_day1']?>" size="1">
</td>
<td>
<input type="text" name="amount1" id="amount1"
value="<?php echo $_POST['amount1']?>" size="5"></td>
您的php脚本应该回显json。例如,我有ajax.php:
<?php
$myVariable = $_POST['myVar'];
//Do something with database here
//Here goes whatever you want to pass back to your page
echo json_encode(array('result' => 'Done doing things', 'data' => $someData)).
// This outputs a json
// {"result" : "Done doing things", "data" : "Contents of $someData"}
为什么不使用jQuery?谢谢您的回答。将再次搜索。。。。如何使用jquery获取mysql值?请看,您需要将这些变量设置为静态。仅此而已,您正在寻找在请求后保留一个变量。将PHP变量放入Javascript需要json_encode();从javascript到PHP需要json_decode();再次感谢。仅此文本将被替换为使用类似的内容是不可能的,因为此页面上的任何php代码只执行一次,而这是页面第一次加载时。要在页面加载后更改页面的外观、文本等,必须使用javascript(在本例中,我们使用的是jquery,它是一个javascript库)
$date_day1 = $_POST['date_day1'];
$amount1 = $_POST['amount1'];
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if($_SERVER["REQUEST_METHOD"]=="POST"){
if ($stmt = mysqli_prepare($mysqli,
"UPDATE 2_1_journal SET Amount = ? WHERE RecordDay = ? ") ) {
$stmt->bind_param( 'ds', $amount1 , $date_day1 );
$stmt->execute();
echo $date_day1 .' date_day1 from update<br>';
echo $amount1 .' amount1<br>';
}
}
<?php
$myVariable = $_POST['myVar'];
//Do something with database here
//Here goes whatever you want to pass back to your page
echo json_encode(array('result' => 'Done doing things', 'data' => $someData)).
// This outputs a json
// {"result" : "Done doing things", "data" : "Contents of $someData"}
<html><head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('.myButton').click(function(e) {
e.preventDefault(); //Prevent the page from reloading
$.post('ajax.php', function(data) {
$('#myContent').html(data.result); //Put the result into the div
}, 'json');
});
});
</script></head>
<body>
<div id="myContent">This text will be replaced</div>
<a href="#" class="myButton">Click Me</a>
</body>
</html>