El array me devuelve "ciutat":"" ...dejo el código de otro php a ver si encontrais alguna diferencia. Por cierto ya que este php lo utilizo con android, me estoy revisando tambien el código java, pero que vaya..está todo perfecto, lo único que hago es pasarle el id como parámetro, y haciendo debugg todo es correcto, pero el resultado es null si no hago el utf8_encode($result["ciutat"]); = null, y si lo hago obviamente devuelve comillas $result["ciutat"]; = ""
Gracias, ahí dejo otro código que funciona a la perfección.
Código PHP:
<?php
//Array dades JSON
$response = array();
//Connexió DB
include('Conexion.php');
//Comprovem que ens arriba per URL el ID del dispositiu
if (isset($_GET["deviceid"])) {
//Desem l'ID del dispositiu
$deviceid = $_GET["deviceid"];
//Cerquem a la BD l'usuari que li correspon el dispositiu
$query = mssql_query("SELECT P.NOM, P.IDLLOC FROM CANON.dbo.PER_CANON P, CANON.dbo.DISPOSITIU D WHERE P.IDEMPLEAT = D.IDEMPLEAT AND DISPOSITIU = '$deviceid'");
//Comprovem que la consulta retorni algún resultat
if (mssql_num_rows($query) > 0) {
//Desem el resultat de la consulta SQL
$result = mssql_fetch_array($query);
//Comprovem si l'usuari és comercial
if($result["IDLLOC"]== 3){
//Desem el nom de l'usuari (el codifiquem en UTF8 perqué mostri accents)
//$response["nom"] = utf8_encode($result["NOM"]);
//Comprovem si ens arriba un parámetre de cerca concreta
$whereClause = "";
if (isset($_GET["where"])){$whereClause = "and c.idclient in (" . $_GET["where"] . ")";}
if ((isset($_GET["searchBy"])) and (isset($_GET["like"]))){
$searchBy = $_GET["searchBy"];
if($searchBy == "empresa"){$whereClause = "and c.nomempresa like '%" . $_GET["like"] . "%'";}
elseif($searchBy == "poblacio"){$whereClause = "and c.ciutat like '%" . $_GET["like"] . "%'";}
}
//Una vegada feta la comprovació que l'usuari té accés, consultem la llista de clients
$stringQuery = "select top 50 c.idclient, a.descripcio, c.nomempresa, c.adreca, c.ciutat, c.codipostal, c.pais, c.telefon from CANON.dbo.client c, CANON.dbo.activitat a where c.idactivitat = a.idactivitat ";
$stringQuery = $stringQuery . $whereClause; //Afegim la senténcia WHERE en cas que hi hagi
$queryClients = mssql_query($stringQuery);
//Comprovem que la consulta retorni algún resultat
if (mssql_num_rows($queryClients) > 0) {
$response["client"] = array();
//Desem el resultat de la consulta SQL
while ($resultClient = mssql_fetch_array($queryClients)) {
//Desem tots els resultats obtinguts a l'array client
$client = array();
$client["idclient"] = $resultClient["idclient"];
$client["descripcio"] = utf8_encode($resultClient["descripcio"]);
$client["nomempresa"] = utf8_encode($resultClient["nomempresa"]);
$client["adreca"] = utf8_encode($resultClient["adreca"]);
$client["ciutat"] = utf8_encode($resultClient["ciutat"]);
$client["codipostal"] = $resultClient["codipostal"];
$client["pais"] = utf8_encode($resultClient["pais"]);
$client["telefon"] = $resultClient["telefon"];
//Inserim les dades del client a la response en forma d'array
array_push($response["client"], $client);
}
//Resposta SUCCESS!
$response["success"] = 1;
//Mostrem la resposta en format JSON
echo json_encode($response);
} else{
//No resultats
$response["success"] = 0;
$response["cause"] = "NO_RESULTS";
$response["message"] = utf8_encode("No hi han clients");
//Mostrem la resposta en format JSON
echo json_encode($response);
}
} else{
//No comercial
$response["success"] = 0;
$response["cause"] = "NO_PERMISSIONS";
$response["message"] = utf8_encode("No tens permisos per accedir aquí");
//Mostrem la resposta en format JSON
echo json_encode($response);
}
} else {
//Cap resultat
$response["success"] = 0;
$response["cause"] = "NO_PERMISSIONS";
$response["message"] = "Cap coincidència";
//Mostrem la resposta en format JSON
echo json_encode($response);
}
} else {
//Parametres obligatoris no informats
$response["success"] = 0;
$response["cause"] = "EMPTY_PARAMETERS";
$response["message"] = "S'han d'informar tots els valors";
//Mostrem la resposta en format JSON
echo json_encode($response);
}
?>