从 Mysql 过滤并获取数据

filter and get data from Mysql

我有这个table:

我需要将列 "codigo" 中第 codidopostal = 1001 行的所有数据放入一个数组中。为此,我通过 "post" codigopostal = 1001 发送。

一旦我得到它,我就需要从数组中提取第一个数据,因为稍后我将使用它添加一个 URI 来创建和查询一个外部服务器,该文件在 xml 中。

我正在构建的 uri 是:

"http://www.aemet.es/xml/municipios/localidad_01059.xml"

我做这个。 http://www.aemet.es/xml/municipios/localidad_ + "0" + "codigo" + ".xml

但它不加我"codigo"。如图所示,只加“0”,不加“0” + "codigo".

这里我留下完整的代码,欢迎任何帮助:

<?php

require_once 'login_mysql.php';

if(isset($_POST['postCode']) && !empty($_POST['postCode'])){

$sql = "SELECT alava.codigo FROM alava WHERE alava.codigopostal = '$postCode'";


if (mysqli_connect_error()){
    echo 'Error de Conexión: ' . mysqli_connect_error();
    exit();
}

$r = mysqli_query($con,$sql);
if (!$r){
    echo 'No se pudo hacer la consulta: ' . mysqli_error($con);
    echo json_encode("Registro inexistente");
    exit();
}

$result = array();

while($row = mysqli_fetch_array($r)){

    //Pushing name and id in the blank array created
    array_push($result,array(
        "codigo"=>$row['codigo']

        ));
    $codigo = array_values($result)[0];
}

  echo json_encode(array('result'=>$output_result));

// Close mysql connection
mysqli_close($con);

    }else{
     echo "Operacion fallida";
    }

$json_object = json_decode( json_encode(array('result'=>$result)) );


$localidad = "$codigo";
$cadena1 = "http://www.aemet.es/xml/municipios/localidad_";
$cadena2 = "$localidad";
$cadena3 = ".xml";
$prefijo = "0";
$url=$cadena1 . $prefijo . $cadena2 . $cadena3 ;


$texto = file_get_contents($url);
$texto = str_replace(array("\n", "\r", "\t"), '', $texto);
$texto = trim(str_replace('"', "'", $texto));
$simpleXml = simplexml_load_string($texto);
$json = json_encode($simpleXml);
echo $json;

return $json;               

我找到了解决方案-

首先正确查询table提取具有特定索引的所有数据。在这种情况下是“codigopostal.

require_once 'login_mysql.php';


if(isset($_POST['postCode']) && !empty($_POST['postCode'])){
$postCode = $_POST['postCode'];

 $sql =
       "SELECT * FROM wp_alava WHERE wp_alava.codigopostal = '$postCode'";

然后我们获取数据并将其输入到数组中。进去之后,我们取第一个,因为都是复制的,我们只需要一个,因为不知道有多少,所以肯定有一个就是第一个。

    //creating a blank array
 $result = array();

//looping through all the records fetched
 while($row = mysqli_fetch_array($r)){


 array_push($result,array(
//Pushing codigo in the blank array created
        "codigo"=>$row['codigo']
    ));
}

//Displaying the array in json format
 $codigo_poblacion = json_encode(array('result'=>$result));

 $primer_codigo_encontrado = json_decode($codigo_poblacion);

 $primer_codigo_encontrado->result[0]->codigo;
 $codigo_poblacion_aemet = $primer_codigo_encontrado->result[0]->codigo;

然后我们构建我们的 URI 并发送它获取数据。因为我们需要 Json 中的数据,所以我们将其解析为 JSon 格式,以便稍后在我们的 APP 或任何其他用户界面中使用。

就是这样,在这里你有一个 API 来为西班牙天气网建立一个 URI,但没有给它,他们只给你 XML 用于预报。

此致