从MySQL爆炸数据并使用json_encode传递值

时间:2016-03-08 04:31:44

标签: php mysql ajax explode

我是爆炸和内爆的新手。我想从我的数据库中分解数据并输入数组值,以便我可以使用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

1 个答案:

答案 0 :(得分:0)

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

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

$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);
    ?>