从 MySQL 分解数据并将值传递给 json_encode

Explode Data from MySQL and pass the value with json_encode

我真的是 explode 和 implode 的新手。我想从我的数据库中分解数据并将值输入数组,这样我就可以使用 json_encode

将它传递到我的 HTML 页面

这是我的 PHP 文件

<?php
session_start();
include "config.php";
$zzz = array();
$pass = array();
$idacara=mysql_real_escape_string($_GET["id"]);
$mysql = ("select kategori from acara where id_acara='$idacara'");
$result=mysql_query($mysql);
if (!empty($result))
{
    while ($row=mysql_fetch_array($result))
    {
        $temp = explode(",",$row['kategori']);
        $count = count($temp);
        for($i=0;$i<$count;$i++)
        {
            $zzz=$pass[$i];
        }
        $fetchkategori[] = array
        (
            'kategori' => $zzz
        );

    }
}

mysql_close($con);

header('Content-Type:application/json');
echo json_encode($fetchkategori);
?>

这是我在 HTML 文件

中的 Ajax
var arrKategori=new Array();
        $.ajax({
            url: host+'/skripsi3/phpmobile/kategori.php',
            data: { "id": getacara},
            dataType: 'json',
            success: function(data, status){
                $.each(data, function(i,item){ 
                    if (arrKategori.indexOf(item.idkat)<0)
                    {   
                        $("fieldset").append('<input type="radio" name="radiokategori" class="required" id="'+item.idkat+'" value="'+item.idkat+'" required><label for="'+item.idkat+'">'+item.kategori+'</label>').trigger("create");  
                        arrKategori.push(item.idkat);

                    }       
                });
            },
            error: function(){
                //output.text('There was an error loading the data.');
            }
        });

先谢谢你,祝你有愉快的一天:D

嗯,首先,不要使用mysql_*函数。而是使用 mysqli_*PDO 函数。

您必须按照以下方式在第一个 if 块之外声明 $fetchkategori[]

$fetchkategori = array();

while 循环之后,按以下方式存储数组。

$fetchkategori[] = array
    (
        'kategori' => $zzz
    );

您的代码将有效。

这是一个使用mysqli

的完整解决方案

config.php

 $mysqli = new mysqli('mysql_hostname', 'mysql_username', 'mysql_password', 'mysql_database');

PHP 文件

        <?php
    session_start();
    include "config.php";
    $zzz = array();
    $pass = array();
    $fetchkategori = array();
    $idacara=$_GET["id"];
    //preparing query
    $stmt = $mysqli->prepare("select kategori from acara where id_acara=?");
    $stmt->bind_param('i', $idacara);
    $stmt->execute();
    $stmt->store_result();//add this line
    $stmt->bind_result($kategori);
    if ($stmt->num_rows>0)
    {
        while ($stmt->fetch())
        {
            $temp = $kategori;
            $count = count($temp);
            for($i=0;$i<$count;$i++)
            {
                $zzz=$pass[$i];
            }
            $fetchkategori[] = array
            (
                'kategori' => $zzz
            );

        }
    }

    mysqli_close($mysqli);

    header('Content-Type:application/json');
    echo json_encode($fetchkategori);
    ?>