2017-08-09 8 views
0

MSSQLPHP + MSSQLは結果

session_start(); 

// CONEXION 

$link = mssql_connect('xxx.xxx.xx.xx', 'xxx', 'xxx'); 
mssql_select_db("xxx",$link); 

if (!$link || !mssql_select_db('BDFlexline', $link)) { 
    die('No se puede conectar o seleccionar una base de datos!'); 
} 
// FIN CONEXION 

if(isset($_GET["dcto"])){ 
    $dcto = $_GET["dcto"]; 
    $empresa = $_GET['empresa']; 
} 

ここにクエリ

$conn ="SELECT 
D.TIPODOCTO, d.CORRELATIVO, d.CLIENTE,coalesce(c.razonsocial,'') RAZONSOCIAL, 
v.DESCRIPCION as VENDEDOR , D.NUMERO, D.FECHA, D.TOTAL, d.Local as CLUB 
from documento D 
left join Vendedor v on d.Empresa = v.EMPRESA and d.Vendedor = v.CODIGO 
left join ctacte c on c.empresa=d.empresa and c.tipoctacte=d.tipoctacte and c.ctacte =d.idctacte 
where d.total >= 0 
and d.aprobacion not in ('S','N') 
and d.tipodocto='".$dcto."' 
and d.empresa='".$empresa."' 
and d.vigencia not in ('N','A') 
and d.Fecha between CONVERT(VARCHAR(25), DATEADD(mm, -1, DATEADD(dd,-(DAY(GETDATE())-1),GETDATE())),105) 
and CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))),DATEADD(mm,1,GETDATE())),105) 
order by d.numero"; 

に接続し、クエリがSQL管理コンソール内から意図したように、[OK]、仕事ですが、PHP ...

を表示しません
$result= mssql_query($conn, $link); 

############# PRUEBA 1 ################# 
    $json = array();  

do { 
    while ($row = mssql_fetch_object($result)){ 
     $json[] = $row;  
    } 
}while (mssql_next_result($result)); 
echo json_encode($json); 
mssql_close($link); 

結果は[]であるがなければならない:

[{"TIPODOCTO":"COTIZACION","CORRELATIVO":"3059","CLIENTE":"20548547-2","RAZONSOCIAL":"SERVICIOS AIR LMTD","VENDEDOR":"Diana","NUMERO":"0000003079","FECHA":{"date":"2017-07-03 00:00:00.000000","timezone_type":3,"timezone":"Europe\/Berlin"},"TOTAL":"3111964.00000000","CLUB":"ADM"}, 
{"TIPODOCTO":"COTIZACION","CORRELATIVO":"3062","CLIENTE":"71540800-7","RAZONSOCIAL":"UNIVERSIDAD SAC","VENDEDOR":"Ernesto","NUMERO":"0000003482","FECHA":{"date":"2017-07-05 00:00:00.000000","timezone_type":3,"timezone":"Europe\/Berlin"},"TOTAL":"16670624.00000000","CLUB":"ADM"}] .... and more 

私は、angularJSを使用してjson形式で結果を得る必要があります。 ありがとうございました

答えて

0

$ dctoまたは$ empressaの値が間違っていると推測して、空白の結果セットが発生しています。テストの場合は

echo "conn=$conn<br/>"; 

と表示され、画面に表示される内容を参照してください。その後、コンソールでそのクエリを実行し、必要な結果が得られていることを確認します。

+0

おかげThread7、 EDITED:VENDEDOR、D.NUMERO、D.として CONN =( 'c.razonsocial')D.TIPODOCTO、d.CORRELATIVO、d.CLIENTE、合体を選択RAZONSOCIAL、v.DESCRIPCION FECHA、D.TOTAL、d.Local from CLUBとしてドキュメントからD左にVendor vを追加d.Empresa = v.EMPRESAとd.Vendor = v.CODIGOを左に追加ctacte c on c.empresa = d.empresaとc.tipoctacte = d.tipoctacteとc.ctacte = d.idctacteここでdtotal> = 0でd.aprobacionは( 'S'、 'N')にはなく、d.tipodocto = 'COTIZACION'とd.empresa = 'E01' ... mssql_fetch_objectに問題がある可能性があります。 –

+0

コンソールのデータを表示しますが、PHPではnoです –

+0

whileループに実際に入っていますか?エコーを "While While Loop"に入れます。見てください。そうでない場合は、$ linkまたはmssql_select_dbステートメントで間違っているかもしれません。試してみるもう一つのことは、非常に簡単なクエリです。 $ conn = "document *からのSELECT *"のように。結果が得られない場合は、明らかにクエリとは関係ありません。最後に、PHPのどのバージョンですか? mssql_fetch_objectは廃止され、PHP 7から削除されました。 – Thread7