вопрос
Друзья, пытаюсь разобраться с JSON и MySQL
Есть файл post.php с вот таким содержанием:
сразу хочу сказать что файл находится на поддомене
Скрипт выводит данные с БД в формате JSON
Как подключить сюда доп поля и вывести их?
Есть файл post.php с вот таким содержанием:
<?php
$response = array();
require 'db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("SELECT *FROM dle_post") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$response["dle_post"] = array();
while ($row = mysql_fetch_array($result)) {
$dle_post = array();
$dle_post["id"] = $result["id"];
$dle_post["title"] = $result["title"];
$dle_post["autor"] = $result["autor"];
$dle_post["autor"] = $result["autor"]; ---------- ВОТ ЗДЕСЬ НУЖНО ВЫВЕСТИ ДОП ПОЛЕ "poster"
$dle_post["autor"] = $result["autor"]; ---------- ВОТ ЗДЕСЬ НУЖНО ВЫВЕСТИ ДОП ПОЛЕ "poster2"
$dle_post["autor"] = $result["autor"]; ---------- ВОТ ЗДЕСЬ НУЖНО ВЫВЕСТИ ДОП ПОЛЕ "poster3"
$dle_post["short_story"] = $result["short_story"];
array_push($response["dle_post"], $dle_post);
}
$response["success"] = 1;
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No dle_post found";
echo json_encode($response);
}
?>
сразу хочу сказать что файл находится на поддомене
Скрипт выводит данные с БД в формате JSON
Как подключить сюда доп поля и вывести их?
<?php
class PDODB extends PDO
{
private $count_row = 0;
// Конструктор
// Принимает массив данных для подключения к базе через PDO
public function __construct($data)
{
$dns = $data["engine"].':dbname='.$data["dbname"].";host=".$data["host"];
try
{
parent::__construct($dns, $data["user"], $data["password"]);
}
catch(PDOException $ex)
{
echo $ex->getMessage();
die();
}
}
// Функция возвращает количество затронутых строк
public function r_count_row()
{
return intval($this->count_row);
}
// @$sql - строка запроса
// @$params - массив данных
// Функция возвращает последний AUTO_INCREMENT
public function insert($sql, array $params = array())
{
$pdo_p = $this->prepare($sql);
if($pdo_p->execute($params)) return $this->lastInsertId();
return null;
}
// @$sql - строка запроса
// @$params - массив данных
// Функция возвращает количество затронутых строк
public function update($sql, array $params = array())
{
$pdo_p = $this->prepare($sql);
if($pdo_p->execute($params)) return $pdo_p->rowCount();
return null;
}
// @$sql - строка запроса
// @$params - массив данных
// Функция возвращает массивы в ассоциативном виде
public function select($sql, array $params = array())
{
$pdo_p = $this->prepare($sql);
if($pdo_p->execute($params))
{
$this->count_row = $pdo_p->rowCount();
return $pdo_p->fetchAll(parent::FETCH_ASSOC);
}
return null;
}
// @$sql - строка запроса
// @$params - массив данных
// Функция возвращает массив в ассоциативном виде
public function select_one($sql, array $params = array())
{
$pdo_p = $this->prepare($sql);
if($pdo_p->execute($params))
{
$this->count_row = $pdo_p->rowCount();
return $pdo_p->fetch(parent::FETCH_ASSOC);
}
return null;
}
}
function xfieldsdataload($id) {
if( $id == "" ) return false;
$xfieldsdata = explode( "||", $id );
foreach ( $xfieldsdata as $xfielddata ) {
list ( $xfielddataname, $xfielddatavalue ) = explode( "|", $xfielddata );
$xfielddataname = str_replace( "|", "|", $xfielddataname );
$xfielddataname = str_replace( "__NEWL__", "\r\n", $xfielddataname );
$xfielddatavalue = str_replace( "|", "|", $xfielddatavalue );
$xfielddatavalue = str_replace( "__NEWL__", "\r\n", $xfielddatavalue );
$data[$xfielddataname] = $xfielddatavalue;
}
return $data;
}
$pdo = new PDODB(array("engine" => "mysql", "dbname" => "work", "host" => "localhost", "user" => "root", "password" => ""));
$response = array();
$result = $pdo->select("SELECT * FROM dle_post");
if ($result !== null) {
$response["dle_post"] = array();
foreach($result as $row)
{
$xf = xfieldsdataload($row["xfields"]);
$product = array();
$product["id"] = $row["id"];
$product["title"] = $row["title"];
$product["poster"] = $xf["poster"]; //--------------------------------------- Сюда доп поле
$product["updated_at"] = $row["updated_at"];
$response["dle_post"][] = $product;
}
$response["success"] = 1;
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No products found";
echo json_encode($response);
}
?>