从 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);
?>
我真的是 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 文件
中的 Ajaxvar 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);
?>