【问题标题】:How to get a PHP array field value from a PHP file using jquery/Ajax?如何使用 jquery/Ajax 从 PHP 文件中获取 PHP 数组字段值?
【发布时间】:2014-05-20 10:12:17
【问题描述】:

我想知道如何使用 jquery/Ajax 从 PHP 文件中获取 PHP 数组字段值。事实上,我有三个文件: mapage.html 、 moslem.php 和 moslem1.php 。您可以在下面找到每个文件的代码。

mapage.html的代码:

<script type="text/javascript">
    $(document).ready(function() {
        setTimeout( test, 1000);
    });
    function test() {
        $.ajax({
            url: 'moslem.php',
            type: 'POST',
            success: function(data) {
                var max;
                max = data;
                setTimeout( test1, 500);
                function test1() {
                    $.ajax({
                        url: 'moslem1.php',
                        type: 'POST',
                        success: function(data1) {
                            document.write(data1+"<br>");
                        }
                    });
                }
            }
        });
        setTimeout( test, 1000);
    }

moslem.php 的代码:

    <?php
$con=mysqli_connect("localhost","root","","test");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM jqcalendar ORDER BY id DESC LIMIT 0, 1");
while($row = mysqli_fetch_array($result)) {
    $max=$row['Id'];
}
echo $max;
mysqli_close($con);
?>

moslem1.php的代码:

    <?php
$con = mysqli_connect("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con, "SELECT * FROM jqcalendar ORDER BY id DESC LIMIT 0, 1");
while ($row = mysqli_fetch_array($result)) {
    $notification = array('id' => $row['Id'], 'subject' => $row['Subject'], 'location' => $row['Location'], 'description' => $row['Description'], 'starttime' => $row['StartTime'], 'endtime' => $row['EndTime']);
}
print_r($notification);
mysqli_close($con);
?>

好吧,当我运行文件 mapage.html 时,它每隔一秒就会显示以下行:

Array ( [id] => 22 [subject] => reading books [location] => at home [description] => reading some books. [starttime] => 2014-05-21 11:00:00 [endtime] => 2014-05-21 12:00:00 ) 

如您在上面看到的,它显示了 moslem1.php 代码中存在的数组“通知”的内容。现在,我的问题是如何修改下面的行以仅显示该数组的字段值(例如归档的“主题”或任何其他字段的值):

document.write(data1+"<br>");

提前致谢。

【问题讨论】:

  • 使用php数组和json
  • 您需要在服务器端将 PHP 数组转换为 json 数组并将 json 发送到 javascript
  • 使用 echo json_encode($max);传递一个 json 对象,您可以在 javascript 中简单地访问它。

标签: php jquery ajax arrays field


【解决方案1】:

dataType:'JSON', 添加到您的Ajax 请求中,并将moslem1.php 中的print_r($notification); 更改为echo json_encode($notification);,然后您将能够以document.write(data1.subject); 的身份访问它

【讨论】:

  • 非常感谢我的朋友 :) ...它有效!!...我会将您的答案标记为最佳答案 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多