2016-08-02 3 views
0

с использованием подключения к базе php. Я хочу отображать данные в формате json, данные которых оттолкнуты из базы данных (MySql), но я не могу отображать их в json формате. http://takeyourtime.16mb.com/fatchData.phpКак отобразить в json формате с помощью php

$con = mysqli_connect($host, $username, $pwd, $db) or die('Unable to connect'); 
if (mysqli_connect_error($con)) 
{ 
    echo "Failed to Connect to Database ".mysqli_connect_error(); 
} 

$name = $_POST['Query']; 
$sql = "SELECT * FROM playerstb"; 
$query = mysqli_query($con,$sql); 

if ($query) 
{ 
    $rows = array(); 
    while ($r = mysql_fetch_assoc($query)) { 
    $rows['root_name'] = $r; 
    } 
} 

echo json_encode($rows); 

mysqli_close($con); 
+0

Дисплей в формате JSON? –

+0

уверен, что вы не ищете print_r()? - и json_encode() – kurt

+0

Кроме того, вы переписываете '$ rows ['root_name']' каждую итерацию, поэтому у вас будет только одна строка. – AbraCadaver

ответ

0

Просто используйте json_encode. Кстати, сценарий имеет синтаксическую ошибку в финале если блок:

if($query){ 

    $rows = array(); 
    while($r = mysql_fetch_assoc($query)) { 
     $rows['root_name'][] = $r; // probably must be an array 
    } 
    echo json_encode($rows); 

}else{ 
    /* 
    This will show up when you have a query error 
    nothing to do with the results found. 
    I would consider changing the message below 
    */ 
    echo('Not Found'); 
} 
+0

, так что будет правильным синтаксисом @CarlosCarucce –

+0

@AyonDey удалить дополнительные '}' перед вызовом * echo * – CarlosCarucce

+0

Но все же моя проблема не устранена @CarlosCarucce –

0

внутри время цикла вы не сохраните все результаты, которые вы каждый один прописан по перед одним

вы должны хранить его в массив как это примечание ([]) *

while($r = mysql_fetch_assoc($query)) { 
    $root_names[] = $r; 
    } 
    echo json_encode(['root_name'=>$root_names]); 
+0

Это даст те же результаты, что и я уже отправил в ответ – CarlosCarucce

+1

Да, спасибо, carlos .. Да, теперь я заметил разницу между добавлением ответа или комментария ... я новый здесь :) –

0

Вы должны хранить первый свой результат в массиве, то после этого создать массив имя ключа желание ($ массив [ «имя»])

$con=mysqli_connect($host,$username,$pwd,$db) or die('Unable to connect'); 
if(mysqli_connect_error($con)) 
{ 
    echo "Failed to Connect to Database ".mysqli_connect_error(); 
} 
$name=$_POST['Query']; 
$sql="SELECT * FROM playerstb"; 
$query=mysqli_query($con,$sql); 
if($query) 
{ 


$rows = array(); 
while($r = mysql_fetch_assoc($query)) { 
$rows[] = $r; 
} 
$data["data"]=$rows; 
echo json_encode($data); 
} 

}else 
{ 
echo('Not Found '); 
} 
mysqli_close($con); 
?> 
+0

Ooops sorry lemme edit that first – Paul

Смежные вопросы