2017-03-29 3 views
0

Ich habe eine Tabelle namens Handy, in dem alle mobilen Daten enthalten sind, die mehr als 7000 Datensätze jetzt ich im JSON-Format anzeigen möchten, aber einige, wie Datensätze hier nicht angezeigt werden, ist mein Code bitte überprüfen ..konvertieren große Daten im JSON-Format

<?php 
$conn = mysqli_connect("localhost","root","","test") or die ("Error ".mysqli_error($conn)); 
$sql = "select * from mobile"; 

$result = mysqli_query($conn, $sql) or die ("error" . mysqli_error($conn)); 
var_dump($result); 

$myArray = array(); 


while($row = mysqli_fetch_assoc($result)){ 

    $myArray[] = $row; 


} 


mysqli_close($conn); 

header('Content-Type: application/json'); 

//$json = file_get_contents('json.json'); 

/* 

$myArray = array("user1" => array("firstName" => "Mike2", "lastName" => "Smith" , "age" => 34),"user2" => array("firstName" => "Mike2", "lastName" => "Smith" , "age" => 34)); 

*/ 

$json = json_encode($myArray); 

echo $json; 


?> 

Tisch

enter image description here

+0

Verwenden Sie 'json_last_error_msg()/json_last_error()', um nach Fehlern bei der Codierung zu suchen. Da hier kein Fehler angezeigt wird, kann niemand helfen. – JustOnUnderMillions

+0

das ist das Problem Sir kein Fehler zeigt .. wo kleine Datenkonvertierung tun, gibt es kein Problem, aber es kommt zu großen Daten. Nothing display –

+0

Entfernen var_dump ($ result); Wenn dies ein AJAX-Anruf ist, versuchen Sie es erneut. –

Antwort

0

Das Problem mit json_encode in PHP ist, neigt sie dazu, doppelte Anführungszeichen und entweichende Sequenzen hinzuzufügen, die die tatsächliche Größe erhöhen würde des importierten JSON. Also, bitte versuche das. Das hat für mich funktioniert.

<?php 
header('Content-Type: application/json'); 
$conn = mysqli_connect("localhost","root","","test") or die ("Error ".mysqli_error($conn)); 
$sql = "select * from mobile"; 
$result = mysqli_query($conn, $sql) or die ("error" . mysqli_error($conn)); 
$myArray = array(); 
while($row = mysqli_fetch_assoc($result)){ 
    $myArray[] = $row; 
} 
mysqli_close($conn); 
$prefix = ''; 
echo '['; 
foreach($myArray as $row) { 
    echo $prefix, json_encode($row); 
    $prefix = ','; 
} 
echo ']'; 
?> 
+0

Danke Kumpel für Hilfe funktioniert jetzt –

+0

Gut zu wissen, dass. Prost :) –

0

ich nehme an, Sie wahrscheinlich ajax verwenden, um Ihre Daten im Browser erhalten Sie ein var_dump() in Ihrem pHP-Code durch den json Header gefolgt b gefolgt verwendet haben y das Json-Ergebnis, das nicht funktioniert.

Um Header zu setzen, sollte die header() Funktion zuerst aufgerufen werden, bevor Sie eine andere Sache ausdrucken, auch müssen Sie nicht in den VAR Dump einfügen. Versuchen Sie, den folgenden Code:

<?php 
$conn = mysqli_connect("localhost","root","","test") or die ("Error ".mysqli_error($conn)); 
$sql = "select * from mobile"; 
$result = mysqli_query($conn, $sql) or die ("error" . mysqli_error($conn)); 
$myArray = array(); 

while($row = mysqli_fetch_assoc($result)){ 
    $myArray[] = $row; 
} 
mysqli_close($conn); 
header('Content-Type: application/json'); 
$json = json_encode($myArray); 
echo $json; 
?> 
+0

- - Hawkeye ;-) – JustOnUnderMillions

+0

check nothing http://sabkideal.com/phpapi_/mobile.php –

+0

Erhalten Sie Fehler in Ihrem Fehlerprotokoll? –

0

Sie können dies durch folgende:

var obj = JSON.parse($myArray); 
echo obj;