Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么使用ajax我可以更新mysql,但不能使用mysql/php变量中的值?_Php_Ajax_Json - Fatal编程技术网

为什么使用ajax我可以更新mysql,但不能使用mysql/php变量中的值?

为什么使用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="&

所有这些都发生在一个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="<?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>