2016-06-30 15 views
1

Ich mag Daten aus der Spalte wo_wks_desc anzuzeigen mit json aber es gibt einige Daten, die nicht sichtbar ist, weil der Inhalt des cel enthält Zeichen Symbol O, A, usw.PHP: wie die Daten, die die Symbole der Datenbank in einem Array json aufnehmen?

mir helfen, dieses Problem zu lösen.

meinen Code so und i json Ergebnis zu zeigen, den Code in list_barcode2.php schreiben

<?php 
 
include "./class/connect_sql.class.php"; 
 
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) 
 
{ 
 

 

 
    
 
    $query = mssql_query("select ROW_NUMBER() OVER(ORDER BY barcode_wo_nmr) nomor, barcode_wo_nmr, barcode_wo_line,wo_wks_desc, 
 
\t \t \t barcode_wo_proses, barcode_npk, barcode_start, barcode_pending, barcode_end,barcode_qty,barcode_ng,barcode_reason_pending 
 
\t \t \t from WO_ENG_BARCODE, WO_ENG_DET, WO_ENG_DET_WKS with(nolock) where 
 
\t \t \t barcode_wo_nmr= WO_DET_NOMOR and barcode_line = wo_det_line and barcode_wo_nmr = wo_wks_nmr and 
 
\t \t \t WO_DET_NOMOR = wo_wks_nmr and barcode_wo_line = wo_wks_line and WO_DET_NAMA_BARANG = wo_wks_barang and right(barcode_wo_nmr,2) >= '15' 
 
\t \t \t order by barcode_wo_nmr desc"); 
 
    $jsonResult = '{"data" : [ '; 
 
    $i=0; 
 
    while ($data=mssql_fetch_assoc($query)) 
 
\t { 
 
     if($i != 0) 
 
\t { 
 
      $jsonResult .=','; 
 
     } 
 
\t  
 
     $jsonResult .=json_encode($data); 
 
\t  
 
\t $i++; 
 
\t 
 
    } 
 
    $jsonResult .= ']}'; 
 
\t 
 
    echo $jsonResult; 
 
} 
 
else { 
 
    echo '<script>window.location="404.html"</script>'; 
 
} 
 
?>

jQuery(document).ready(function() { 
 
\t \t var table = jQuery('#dataTables').DataTable({ 
 
        "ajax": "./pc_list_barcode.php", 
 
        "order": [[ 1, 'asc' ]], 
 
        "columns": [ 
 
         { "data": "nomor" }, 
 
         { "data": "barcode_wo_nmr" }, 
 
\t \t \t \t \t \t { "data": "barcode_wo_line" }, 
 
\t \t \t \t \t \t { "data": "wo_wks_desc" }, 
 
         
 
\t \t \t \t \t \t 
 
\t \t \t \t \t \t { "data": "barcode_wo_proses" }, 
 
\t \t \t \t \t \t { "data": "barcode_npk" }, 
 
\t \t \t \t \t \t { "data": "barcode_start", 
 
\t \t \t \t \t \t "width": "120px" 
 
\t \t \t \t \t \t }, 
 
\t \t \t \t \t \t { "data": "barcode_pending" }, 
 
\t \t \t \t \t \t { "data": "barcode_end" }, 
 
\t \t \t \t \t \t { "data": "barcode_qty" }, 
 
\t \t \t \t \t \t { "data": "barcode_ng" }, 
 
\t \t \t \t \t \t { "data": "barcode_reason_pending", 
 
\t \t \t \t \t \t \t "width": "120px" 
 
\t \t \t \t \t \t \t }, 
 
\t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t "data": "barcode_wo_nmr", 
 
\t \t \t \t \t \t \t "render": function(data){ 
 
\t \t \t \t \t \t \t \t return '<font color="blue"><a href="edit_barcode.php?id=' + data + '">EDIT</a>' 
 
\t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t } \t 
 
\t \t \t \t \t \t //{"data": "barcode_reason_pending"}, 
 
\t \t \t \t \t \t // {"data": return '<a href="edit_barcode.php?id=' + row.id + '">EDIT</a>' }, 
 
        ] 
 
       });

+0

tun sie nicht wie diese versuchen, bitte versuchen Sie es wie json_encode (array ("data" => $ complete_data)), wobei $ complete_data ein Array ist, das alle abgerufenen Datensätze enthält –

+0

Ist es so? while json_encode ($ data = mssql_fetch_assoc ($ query)) –

+0

Nein, alle Datensätze in einem Array abrufen und dann den json_encode für dieses Array ausführen. –

Antwort

0

Mit dieser:

$rows = array(); 
while ($data = mysql_fetch_assoc($query)) { 
    $rows[] = $data; 
} 

$jsonResult = json_encode(array(
    "data" => $rows 
)); 

Und um alle Symbole, die Sie richtig benötigen mysql verschlüsselt zu erhalten zu sagen, bevor die Abfrage ausgeführt wird, dass Sie Ihre Daten in UTF-8, wie diese codiert werden soll:

mysql_set_charset('utf8')