2015-12-14 4 views
0

Я хочу нажать еще один идентификатор значения на значение содержимого.нажатие значения на массив

Я хочу, чтобы добавить идентификатор фотографии

$id=$comment_fet['ID'];` 

значению

$content = $comment_fet['CONTENT_VALUE']; 

контента Теперь

$content="{ 
"name": "ghggh", 
"commentuser": "jghjhgjghj", 
"content_type": "alb_comment", 
"website_id": "571710720", 
"id": 86, 
"nodes": [], 
"date": "2015-12-14T06:39:25.921Z", 
"displayDate": "Mon Dec 14 2015 12:09:25 GMT+0530 (India Standard Time)", 
"Like": 0, 
"Unlike": 0, 
"rating": 0, 
"reportAbuse": 0 
}"  

function get_album_comment($prefix) { 
$postdata = file_get_contents("php://input"); 
$request = json_decode($postdata); 
// print_r($request); 
$id = $request->photoid; 
    $sql = "select * from user_comment where SUB_ID='$id'"; 
$query = mysql_query($sql) or sqlerrorhandler("(" . mysql_errno() . ") " . mysql_error(), $sql, __LINE__); 
//$datas = array(); 
while ($comment_fet = mysql_fetch_assoc($query)) { 
    $content = $comment_fet['CONTENT_VALUE']; 
    $id=$comment_fet['ID']; 
    $datas[] = json_decode($content); 

    } 
echo $get_like = json_encode($datas); 
} 
+1

Почему вы просто не расшифровать его, добавьте значение и кодировать его снова? – Manikiran

+0

Можете ли вы показать плз образец, как это сделать? – user3386779

+0

@ user3386779 Что такое '$ comment_fet ['CONTENT_VALUE'];'? Это строка json? –

ответ

0

Попробуйте это:

<?php 
$temp=json_decode($content); // decodes it to json 
$temp->id=$comment_fet['ID']; // appends photo id to it 
$content=json_encode($temp); // encodes it back 
?> 
+0

все еще имеет значение проблемы не нажата – user3386779

0

Если вы хотите, чтобы подтолкнуть новое значение (скажем photo_id) в строку JSON, то вы можете сделать что-то вроде этого:

// your code 

$comment_fet = mysql_fetch_assoc($query); 
$content = $comment_fet['CONTENT_VALUE']; 
$id=$comment_fet['ID']; 
$datas = json_decode($content, true); 
$datas['photo_id'] = $id; 
$content=json_encode($datas); 

// your code 

Sidenote: Пожалуйста, не используйте mysql_ расширения базы данных, они были устарел в PHP 5.5.0 и был удален в PHP 7.0.0. Используйте вместо этого mysqli или PDO. И это why you shouldn't use mysql_ functions.

Отредактировано:

// your code 

$contents = array(); // $contents array will contain all contents 

while($comment_fet = mysql_fetch_assoc($query)){ 
    $content = $comment_fet['CONTENT_VALUE']; 
    $id=$comment_fet['ID']; 
    $datas = json_decode($content, true); 
    $datas['photo_id'] = $id; 
    $contents[] = json_encode($datas); 
} 

// loop through the $contents array to display all contents 
for($i = 0; $i < count($contents); ++$i){ 
    echo $contents[$i] . "<br />"; 
} 

// your code 
+0

Это вернет только один комментарий – user3386779

+0

@ user3386779 Для этого вы можете использовать цикл while. Но как бы вы использовали финальную кодированную строку json вне цикла while. Я уточню свой ответ в соответствии с этим. –

+0

Этот обновленный код ничего не возвращает сэр. – user3386779